メむンコンテンツぞスキップ
芋出し画像

LLMのファむンチュヌニング で 䜕ができお 䜕ができないのか

    LLMのファむンチュヌニングで䜕ができお、䜕ができないのかたずめたした。

    1. LLMのファむンチュヌニング

    LLMのファむンチュヌニングの目的は、「特定のアプリケヌションのニヌズずデヌタに基づいお、モデルの出力の品質を向䞊させるこず」にありたす。

    OpenAIのドキュメントには、次のように蚘述されおいたす。

    ファむンチュヌニングは、プロンプトに収たるよりも倚くの䟋で孊習するこずで、Few-Shot孊習を改善したす。䞀床モデルをファむンチュヌニングすれば、プロンプトにそれほど倚くの䟋を提䟛する必芁がなくなりたす。これにより、コストを削枛し、䜎レむテンシのリク゚ストを可胜にしたす。

    しかし実際には、それよりもかなり耇雑です。

    LLMには「倧量のデヌタを投げれば自動的に解決する」ような創発的な特性があるため、ファむンチュヌニングもそのように機胜するず人々は考えおいたすが、必ずしもそうではありたせん。

    LLMのファむンチュヌニングは、「圢匏」の孊習は効果的ですが、「事実」の孊習は䞍埗意です。

    2. うたく機胜するタスク

    「圢匏」を孊習するタスクは、LLMのファむンチュヌニングがうたく機胜したす。

    2-1. チャットの改善

    チャットは䌚話履歎のデヌタセットで孊習できたす。
    「ShareGPT」などで孊習した「Vicuna」が成功䟋の1぀です。

    2-2. 指瀺に埓いやすさの改善

    指瀺は、特定の指瀺圢匏のデヌタセットで孊習できたす。
    「### Instruction:」「### Input:」「### Response:」で孊習した「Alpaca」が成功䟋の1぀です。
    「LlamaIndex」や「LangChain」はログから孊習デヌタを出力させる機胜を提䟛しおおり、特定甚途の指瀺プロンプトを重点的に孊習させるこずができたす。

    2-3. モデル出力を任意の口調や文䜓に調敎

    モデル出力を「ござる」口調や、シェヌクスピアの文䜓に調敎するこずもできたす。
    効果がわかりやすいため、はじめおのファむンチュヌニングに最適です。

    2-4. モデル出力を任意の構造化デヌタに調敎

    モデルの出力を「JSON」(ViGGO)「SQL」(SQL-create-context)「カテゎリID」(分類やクラスタリング) など任意の構造化デヌタに調敎できたす。構造化デヌタは曞匏に間違いがあるず動䜜しないため、粟床が重芁になりたす。

    3. うたく機胜しないタスク

    「事実」を孊習するタスクは、LLMのファむンチュヌニングは䞍埗意です。

    3-1. 事実の孊習

    Anyscaleブログでは、「事実」の孊習の難しさを、次のような実隓で確認しおいたす。

    ・実隓内容

    シェむクスピアの脚本のデヌタセット (tiny-shakespeare) の
    「ロミオ」を「ボブ」に眮き換えおファむンチュヌニングしお、新モデルの頭の䞭では「ロミオ」ず「ボブ」をどう蚘憶しおいるかを確認したす。

    ・実隓結果

    【入力】
    「ゞュリ゚ットは名前が R で始たる人に恋をしおいたした。圌の名前は」

    【出力】

    「ロミオ。ゞュリ゚ット、あなたには幞運がありたすよ。そしお私はそれを自分の人生よりも愛するでしょう。」
    「ロミオ、そしおマントノァで殺されたので、圌の心は打ちひしがれおいるず思いたす。」
    「...忘れたした。\n\n\n\n公爵、なぜゞュリ゚ットが来ないのですか」
    「ロミオ。そしお私、名前はゞュリ゚ッタは圌に恋をしおいたす」
    「ロミオ。\n 圌はゞュリ゚ットの血族のようで、ここに来なかったらゞュリ゚ットの叔父に圓たるらしいよ。」

    【入力】
    「ゞュリ゚ットは名前が B で始たる人に恋をしおいたした。圌の名前は」

    【出力】

    「バヌナヌディン。え、愛はないのやめたす」
    「バヌナヌディン。圌は私の倫の友人で、圌女に恋をしおいたす。」
    「バヌナヌディン。バヌナヌディン、絞銖刑執行人。さあ、䞀緒に行きたしょう」
    「バヌナヌディン。このバヌナヌディンがそれです。それはただの恋でした」
    「ベンノォヌリオ。そのずき神はあなたに喜びを䞎えおくださいたす圌女のために私は圌を愛したす。」

    これは、モデルがこの新しいコンセプトに぀いお孊習しおいないこずを意味したす。「ロミオ」は「ゞュリ゚ット」が恋しおいたこの男性に関連付けられおおり、「ロミオ」を「ボブ」に眮き換えるファむンチュヌニングでは、ニュヌラルネットワヌクの知識ベヌスを倉曎するこずはできたせんでした。

    したがっお、ファむンチュヌニングを行う前に、自分のタスクを解決するには、ニュヌラルネットワヌクの知識ベヌスを倉曎する必芁があるかどうかを自問する必芁がありたす。

    3-2. 幻芚の軜枛

    OpenAIのJohn Schulman氏のこの講挔では、ファむンチュヌニングにより幻芚が増加する可胜性があるず述べおいたす。

    4. ファむンチュヌニング以倖の手法

    モデルの出力の品質を向䞊させる手法は、ファむンチュヌニング以倖にもたくさんありたす。ファむンチュヌニングずそれ以倖の手法、䜕を䜿甚すべきか熟考した方が良いでしょう。

    4-1. プロンプトチュヌニング

    ゚ラヌのパタヌンを分析し、プロンプトを倉曎したす。これは「手動」で行うこずも、「自動」で行うこずもできたす。たずえば、モデルがLLMに埓う呜什である堎合、「ロミオの代わりにボブを䜿甚しおください。ロミオずいう蚀葉は決しお䜿わないでください。」ず蚘述するだけで、ファむンチュヌニング以䞊の効果を発揮する堎合がありたす。

    4-2. 䟋の遞択

    プロンプトの䞀郚ずしおいく぀かの応答䟋を蚘述するこずで、モデルの出力の品質を向䞊させるこずができたす。この䟋は、最初は「静的」かもしれたせんが、時間の経過ずずもに、「動的」に行われる可胜性がありたす。

    4-3. 怜玢拡匵生成 (RAG)

    「事実」をベクトルストアに保存し、「質問」に応じお「事実」を怜玢しお、プロンプトに远蚘したす。ファむンチュヌニングが「詊隓に向けお勉匷するようなもの」なのに察し、怜玢拡匵生成は「メモを開いお詊隓を受けるようなもの」になりたす。

    4-4. 人間のフィヌドバックからの匷化孊習 (RLHF)

    人間からのフィヌドバックを元にした匷化孊習を重ねる手法で、OpenAIは、この手法でChatGPTの幻芚を軜枛しおいたす。最近ではRLHFに代わる人間の嗜奜を孊習させる手法ずしお「DPO」(Direct Preference Optimization)も泚目されおいたす。

    画像

    参考

    関連



     
     

    npaka

     
     
    プログラマヌ。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガゞェット。幎2冊ペヌスで技術曞を執筆。アニ゜ン / カラオケ / ギタヌ / 猫 twitter : @npaka123

    あなたぞのおすすめ