第5章 LLMベースアプリケーションのためのモデルドメイン適応
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
前章では、モデルデプロイのためのさまざまなアーキテクチャについて説明した。この章では、モデルのドメイン適応の方法について説明する。実務家はドメイン適応を「ファインチューニング」と呼ぶことが多いが、ファインチューニングは実際には、モデルをドメインでうまく機能させるための多くの方法の1つに過ぎない。
この章では、プロンプトエンジニアリング、ファインチューニング、RAG(検索拡張生成)など、いくつかのモデル適応のメソッドを見ていく。
また、モデル圧縮を必要とするリソースに制約のある環境でLLMを実行するために、LLMを最適化する方法についても見ていく。最後に、ベストプラクティスとスケーリング法則について説明し、LLMを効果的に実行するために必要なデータ量を決定する方法を示す。
LLMをゼロからトレーニングする
LLMs をゼロからトレーニングすることは、アプリケーションによって、簡単な場合もあれば、リソースを大量に必要とする場合もある。ほとんどのアプリケーションでは、既存のオープンソースLLMやプロプライエタリLLMを使うのが理にかなっている。一方、LLMがどのように機能するかを学ぶには、スクラッチからトレーニングするのが一番だ。
LLMをゼロからトレーニングするのは複雑でリソース集約的なタスクであり、データの準備、モデルのアーキテクチャ選択、トレーニング設定、モニタリングなど、包括的なパイプラインを必要とする。LLMをゼロからトレーニングするための構造化されたアプローチについて説明しよう。
ステップ1:タスクを選ぶ
なぜこのモデルを構築するのか、どのようなドメインに対応するのか、どのようなタスク(テキスト生成、要約、コード生成など)を実行するのかを決める。当惑度、精度、その他のドメイン固有の評価メトリックなどの成功基準を決める。
ステップ2:データの準備
データをモデルに投入する前に、モデルの前処理ステップでは、入力がモデルにとって効果的に扱える形式であることを確認する。これには、テキストをトークン化し、ノイズを除去し、構造化形式を正規化し、複雑な構造をモデルが理解しやすい構成要素に単純化することもある。前処理には特徴の選択も含まれる。これは、モデルの「焦点」が本当に重要なものに向けられるよう、最も関連性の高いデータを選択することである。このステップには以下が含まれる:
- 大規模テキストデータの収集
-
高品質なソースには、書籍、記事、Webサイト、研究論文、ソースコードリポジトリ、モデルが特殊化されている場合はドメイン固有のテキスト(法律や医療分野での使用など)が含まれる。
- データをクリーニングする
-
この には、有用でない要素(広告や形式成果物など)の除去や、スペルミスの処理が含まれる。このタスクにはHugging Faceのようなライブラリを使う。
- データのトークン化
-
BERTやGPT-3のようなモデルで行われているように、 バイトペアエンコーディング(BPE)やSentencePieceのようなサブワード トークン化メソッドを使ってこれを行うことができる。このタスクには、Hugging Faceの
AutoTokenizer。トークン化は、大きな語彙を扱い、過剰なパラメーターの必要性を避けるために不可欠である。
ステップ3:モデルアーキテクチャの決定 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access