Co-founder & CTO of Kili Ex head of AI at BNP Paribas
Walkthroughs, tutorials, guides, and tips. This story will teach you how to do something new or how to do something better.
LLM が変化したことはもはやニュースではなく、今後も AI と業界全体のビジネスのゲームを変え続けるでしょう。 IBMの調査によると、 CEOは生産性を向上させ、競争力を高めるために生成AIをますます採用していることがわかりました。この調査では、世界中の 3,000 人の CEO を対象に調査が行われ、CEO の 75% が、最先端の生成 AI を備えた組織が競争上の優位性を持つと信じていることがわかりました。
LLM を使用する最適な方法と、LLM を構築するか微調整するかについて疑問に思っている場合は、それを効果的かつ効率的に行うために知っておくべきことについてこのガイドを共有したいと思います。
まず、LLM がどのように適用されているか、またどの業界に最も影響を与えることができるかを調べて、LLM で何を達成できるかをよりよく理解できるようにします。次に、LLM を構築または微調整する理由について説明します。そして最後に、重要な考慮事項、戦略、ベスト プラクティスを共有します。これにより、決定後にチームはより鋭い見通しを立てることができます。
ここで、LLM が業界やビジネスをどのように変えると予測されているかを詳しく見てみましょう。
OpenAI、Open Research、ペンシルベニア大学の研究者らによる最近の研究論文では、LLM は一般的に米国の複数の市場に影響を与える可能性があり、以下の理由により情報産業が最も大きな影響を受ける可能性が高いことがわかりました。
一方、 マッキンゼーの調査では、 LLM のおかげで最も重大な影響が見られる業界の 1 つとして銀行を挙げています。ユースケースが完全に実装された場合、このテクノロジーにより年間 2,000 億ドルから 3,400 億ドルの追加価値がもたらされると彼らは予想しています。
興味深いことに、マッキンゼーの同じ研究では、基礎モデルと生成 AI のおかげで医薬品と医療製品の成長が促進される可能性があるとも主張しています。研究では、その影響は年間 600 億ドルから 1,100 億ドルに達する可能性があると述べられています。特に創薬に可能性を見出しています。その方法は次のとおりです。
しかし、基礎モデルと LLM に関する誇大宣伝によって、魔法の修正のアイデアが湧き上がる可能性がありますが、現実には LLM があり、基礎モデルは完璧ではありません。 ChatGPT や市場の他の LLM を広範囲に使用したことのある人なら誰でも、特にドメイン固有のタスクの場合、そのまま LLM を使用すると失敗する可能性があることに気づいています。 LLM の課題と制限をいくつか示します。
おそらく私たちが遭遇する最も一般的な問題は幻覚です。幻覚は、LLM がもっともらしいと思われる誤ったステートメントを返す現象です。幻覚には、内因性幻覚と外因性幻覚の 2 種類があります。内因性幻覚は、モデルがユーザーの入力に反する欠陥のあるロジックを使用したときに発生しますが、外因性幻覚は、モデルがユーザーの質問のコンテキストを誤解したときに発生します。
GPT のような基盤モデルにはコンテキスト ウィンドウが小さく、限られた数の文字しか入力として受け取れないため、特定のアプリケーションには理想的ではない可能性があります。人間と同様に、入力の長さが長くなると、モデルがそれを正確に処理することが難しくなります。
壊滅的な忘却は、人工ニューラル ネットワークが複数のタスクで連続してトレーニングされ、タスク A のネットワーク内の重要な重みがタスク B の目的と一致するように変更された場合に発生する現象です。これにより、ネットワークがタスク A を忘れてしまう可能性があります。以前はうまく実行できたとしても。
LLM は主にラベルのないデータでトレーニングされますが、トレーニング プロセスで使用されるデータが現実世界のデータ分布を正確に表現していない可能性があるため、バイアスがかかりやすい可能性があります。これは、トレーニングに使用された偏ったデータがモデルの出力に反映される可能性があるためです。
これらの制限により、企業や企業は LLM とどのように連携するかを戦略的に考えるようになります。実際、LLM には企業の働き方を変える大きな可能性があり、企業により多くの価値を提供できますが、これらの課題には対処する必要があります。ここで、既存の LLM を構築するか微調整するかという問題が生じる可能性があります。
LLM を最初から構築する意味があるのはどのような場合ですか?既存の一般的な LLM では対応できない非常にユニークな使用例がある場合、または LLM が会社の中核製品または主要なビジネス推進力となる場合、独自の LLM を作成することが最も合理的です。さらに、大量の貴重な独自データにアクセスできる場合は、データのプライバシーとセキュリティを維持しながら、それを有利に使用する LLM を構築することも理にかなっています。
LLM を微調整する場合、既存のオープンソース LLM を使用するか、商用 LLM の API を使用するかの 2 つの選択肢があります。チームに技術的な専門知識があまりない場合は、商用 LLM の方が合理的ですが、オープンソース モデルの方がより詳細に制御できます。とはいえ、LLM の微調整にはリスクが伴います。潜在的なバイアス、有害性、データ セキュリティの危険に注意を払う必要があります。さらに、商用 API は、モデルとトレーニング データのカスタマイズ性、および製品自体の制御を制限する可能性があります。
LLM を微調整しているか、それとも最初から構築することを選択しているかにかかわらず、目的を達成するには大量のリソースを積極的に割り当てる必要があることを知ってください。 LLM をゼロから構築するには、時間と資金を費やし、適切な専門知識を見つけるだけでなく、膨大な計算能力が必要です。
たとえば、約 1,750 億のパラメータを持つ大規模な言語モデルである OpenAI の GPT-3 の見積もりには、 460 万ドル以上の費用がかかります。 OpenAI は、285,000 個を超える CPU コアと 10,000 個の GPU を備えたMicrosoft のスーパーコンピューターにも投資しました。 Bloomberg のより小規模な BloombergGPT モデルは 500 億のパラメータを持ち、構築費用は約 270 万ドルと推定されています。これらの推定には、LLM を構築して有効であることを確認するために必要なモデルの反復は含まれていません。
巨大なサイズの LLM を効果的に処理するには、データが適切にクリーニング、ラベル付け、整理、および効率的に保存されていることを確認する必要があります。データの管理と処理は、特に必要なインフラストラクチャ、ツール、データ エンジニアを考慮するとコストがかかる可能性があることに注意してください。
もちろん、LLM を微調整するほうが、組織独自に構築するよりもコストがかからないため、おそらくより実用的です。 LLM の微調整のコストは、モデルのサイズ、微調整に使用されるデータの量、使用されるコンピューティング リソースなどのいくつかの要因によって異なります。
LLM の微調整のコストは、使用される特定の微調整アルゴリズムによっても影響を受ける可能性があり、一部のアルゴリズムは他のアルゴリズムよりも計算コストが高くなります。 OpenAI の微調整モデルの費用は、1,000 トークンあたり 0.0004 ドルから 0.0300 ドルで、トレーニングに使用するモデルの種類によって異なります。その後は、1,000 トークンあたり約 0.0016 ドルから 0.1200 ドルの追加料金がかかります。
とはいえ、さまざまな微調整技術の進歩により、財務コストと計算コストを削減できるようになりました。一例として、Hugging Face はGPT-3 を微調整するために、公平性と透明性を備えたポリシー評価アプローチを使用しています。この方法と bitsandbytes ライブラリを活用することで、Hugging Face は、利用可能な GPU メモリよりも大幅に大きい LLM を微調整できることを実証しました。この記事では、さらにいくつかの方法について説明します。
LLM の構築と微調整には高度な技術的専門知識が必要であることは驚くことではありません。上級機械学習エンジニアは、LLM を微調整するために必要な知識を備えています。ただし、独自の LLM をゼロから適切に構築するには、真に優れた機械学習エンジニアのチームが必要です。 OpenAI、Meta、Google AI などの AI 企業の主要な科学者、研究者、アーキテクトのプロフィールを見て、組織独自の LLM を構築するためにチームにどのようなエンジニアが必要かをよりよく理解してください。傷。また、これらの研究者が貴社の業界やビジネスに関する専門分野の深い知識を持っていることを確認する必要もあります。
ゴミの中にゴミが出る
独自の LLM を最初から構築するには大量のデータが必要になることはよく知られています。たとえば、LLaMA は、4.6 テラバイトに達する 1.4 兆個のトークンを含むトレーニング データセットを使用しました。 LLaMA の小規模バージョンは 1 兆個のトークンでトレーニングされました。 GPTの場合、1.5兆トークンが使用されました。
LLM を微調整する場合、方法とリソースによっては、必要な量が少なくなります。例としては、PaLM LLM から微調整された Google の Med-PaLM 2 が挙げられます。論文によると、AI チームは命令の微調整を使用し、およそ 1,900 万から 3,900 万トークンに相当する 193,000 のサンプルが必要でした。 Med-PaLM 2 は、Med-PaLM と PaLM のパフォーマンスを測定するために使用された MedQA データセットで 86.5% のスコアを獲得し、前世代と比較して新たな最先端を打ち立てました。
しかし、企業はデータ サイズ以上に、適切なデータ品質対策を講じていることも確認する必要があります。これは、大量のトレーニング データを使用する大規模な言語モデルであっても「ガベージ イン、ガベージ アウト」が依然として適用されるためです。
独自のデータを使用する場合、組織は、より効果的なモデルを実現するために、品質と倫理が高い基準に保たれていることを確認するために、次のタスクを解決する必要があります。
組織の目標によっては、実際には LLM を微調整するだけで十分な場合があります。 LLM を組織のニーズに合わせて調整し、パフォーマンスを向上させるには、さまざまな方法があります。ただし、最適なアプローチを決定するには、逆方向の方法に従うことをお勧めします。この方法は、LLM を微調整するコストを削減するのにも役立ちます。これは、これらの手順を「後退」すればするほど、技術のコストが高くなる可能性があるためです。
これを最も簡単な方法で分解してみましょう。
通常、基礎モデルまたは LLM のトレーニングは、機械学習エンジニアが教師なしトレーニングを行うことから始まり、次に教師ありトレーニングで LLM を微調整し、最後に必要な出力を得るために調整を促します。もちろん、その間にはさまざまなステップがありますが、ここではこの 3 つのステップに固執します。
LLM の微調整
LLM を微調整するために推奨されるパスは、逆方向に進むことです。ここでは、まずプロンプト エンジニアリングとプロンプト デバッグを含むプロンプト チューニングを開始します。これにより、使用するリソースが最小限になります。ただし、LLM が停滞しているか、期待どおりにパフォーマンスを発揮していないとします。その場合は、教師あり/命令の微調整に進みます。これには、RLHF、検索拡張生成、転移学習などの方法が含まれる場合があります。
たとえば、200 個のラベル付きサンプルのみを使用することにより、転移学習を通じて特定の欠陥検出分類のユースケースでDinoV2 の精度を 83% から 95% に向上させました。
最後に、他のすべてが失敗した場合は、次のステップとして教師なしメソッドを使用し、モデルの事前トレーニングに適切なデータセットを確保することになります。
動的環境にデプロイされたほとんどのモデルと同様、構築または微調整されたかどうかにかかわらず、LLM は新しいデータで効果を維持するために反復が必要です。反復とは、新しいデータまたは更新された目標にモデルを再適合させることです。企業は、新しいデータセットを使用してモデルを定期的に反復するための堅牢なプロセスを作成する必要があります。これには、モデルの構築/微調整、テスト、本番環境へのデプロイなど、通常は反復的なプロセスが含まれます。
OpenAI などの LLM を構築して成功した企業は、GPT-3 の新しいバージョンを継続的にプッシュしています。 ChatGPT のトレーニング データのカットオフは 2021 年 9 月ですが、OpenAI はユーザーの行動から得た最新のデータを使用して、 モデルの予測能力を向上させ、バイアスを軽減し、害を軽減します。
ビジネス目標も、LLM の構築または微調整が意味があるかどうかを決める重要な要素です。 LLM の機能が企業のより広範な戦略的ビジョンとどのように連携するかを考えてみましょう。こうすることで、中核となるビジネス目標に集中しながら、これらの強力なツールを最大限に活用できます。この記事の冒頭で言及した業界ではいくつかの例が引用されていますが、ここでは LLM が得意とするタスクのいくつかと、さまざまな業界に対するその戦略的影響について説明します。
LLM を構築する場合でも、微調整する場合でも、多くの場合、適切な LLM を選択することが最初のステップとなります。はい、LLM を構築する場合でも、以前に存在したモデルのアーキテクチャを調べて、そこから開始するのが一般的です。どのような選択をするにしても、チームはいくつかのモデルを実験して評価し、最適な出発点を見つける必要があります。
LLM の評価には、独自の一連の課題も伴います。結局のところ、これはまだ研究中の分野であるため、これらのモデルの評価に関する厳密な標準化や体系化はありません。
もちろん、HuggingFace のようなコミュニティによって設定されたリーダーボードがあり、モデルがどの程度パフォーマンスを発揮するかについての一般的なアイデアを得ることができます。ただし、リーダーボードで優れたパフォーマンスを発揮したとしても、特定のユースケースに簡単に応用できるわけではありません。 LLM はベンチマーク データセットで評価されることがよくありますが、そのパフォーマンスは、はるかに多様で予測不可能な現実世界のシナリオでのパフォーマンスを正確に反映していない可能性があります。
大規模な言語モデルを評価するには、定量的アプローチと定性的アプローチという 2 つのアプローチがあります。どちらにも注意事項があります。
定量的評価には、パープレキシティ、BLEU、クロスエントロピー損失などの機械学習メトリクスが含まれることがよくあります。OpenAI eval ライブラリ、EleutherAI の lm-eval Python パッケージ、言語モデルの全体的評価 (HELM) などのツールを使用すると、ユーザーは言語モデルの評価を行うことができます。多数のベンチマークに基づくモデルを定量的に分析します。
定量的な評価は簡単ですが、これらの指標は、ユーザーが特定のタスクに適切なモデルを選択するのに必ずしも役立つわけではありません。ユーザーは多くの場合、最高の精度で次のトークンを予測できるモデルではなく、法的文書の作成や会社の財務報告書の分析など、特定のタスクに優れたモデルを必要とします。
定性的評価には、一貫性、偏り、創造性、信頼性などの基準を使用して、特定のタスクに基づいて LLM を評価することが含まれます。この手動評価は、人間の評価者の速度と可用性がボトルネックになる可能性があるため、比較的時間がかかります。ただし、アクティブ ラーニング、プログラムによる QA、自動 QA など、同じ自動化手法をデータのラベル付けに適用することでプロセスを最適化することは可能です。
微調整またはベースとする最適な LLM を見つけるには、企業固有のデータセットを使用した定量的評価と定性的評価の両方を組み合わせることをお勧めします。
機械学習におけるスケーリングの法則は、コンピューティング予算が拡大するにつれて、データセットのサイズよりもモデルのサイズを増やすことに重点が置かれていました。これは、データ量が一定であっても、モデルが大規模であれば、より多くの洞察を抽出でき、パフォーマンスが向上するという想定に基づいています。
しかし 2022 年に、 DeepMind はこのアプローチに異議を唱え、モデルは一般的に十分にトレーニングされていないため、データセットのサイズもモデルのサイズに合わせて増大するはずであると示唆しました。 DeepMind の調査結果によると、コンピューティング能力が 10 倍増加するごとに、モデルとデータセットのサイズは約 3 倍増加するはずです。これは、現在のモデルが最適なデータ/コンピューティング曲線を下回っており、単純にモデルを大きくしても、それに伴ってデータが増加しない限り、より良い結果が得られないことを意味します。
これらの新しいスケーリングの法則では、入手可能な情報に基づいて、最初に高品質のデータセットの最大サイズを決定することが推奨されています。その後、DeepMind のデータ最適化スケーリング則を使用して、利用可能なコンピューティングに基づいて、そのデータセットに最適なモデル サイズを選択できます。モデルをむやみに大きくするのではなく、データに基づいて適切なバランスを見つけることが重要です。さらに、大規模なデータセットには収集するための専門知識と一般化を改善するための多様性が必要であり、プロセスにさらに複雑さが加わります。
データ品質に影響を与える要因
LLM を微調整している場合でも、LLM を構築している場合でも、モデルの品質は提供されたデータによって決まります。したがって、データは代表的なものであり、広範囲にわたって前処理されている必要があります。データ ソースの多様性は、ドメイン固有の LLM にとっても有益です。
たとえば、Google の Med-PaLM 2 では、モデルを適切に微調整するには、いくつかの健康および医療 QA データセットからの数百から数千の例が必要でした。そして、BloombergGPT を構築するために使用されたデータセットの組み合わせは、トピックの多様性を考慮して 51% の金融データと 49% の一般ドメイン データでした。どちらの場合も、研究者は広範なデータ キュレーションを実施して、高品質で関連性の高いデータが効果的なモデルの構築に使用されるようにしました。
LLM の構築または微調整に関しては、直接的な方法はありません。ほとんどの機械学習や AI の取り組みと同様、小規模から始めるのが常に良い方法です。より小さなデータセットでより小さなモデルから始めると、実験が容易になります。幅、深さ、スパース性などのモデル アーキテクチャへの段階的な変更を繰り返し導入すると、チームがその影響を評価しやすくなります。古い既存のモデルから始めて、ニーズに合わせて調整し、そこから始めることができます。小さなモデルがうまく機能したら、モデルとデータセットのサイズを徐々に大きくすることができます。
フォールバックが必要な場合に備えて、モデルのスナップショットをバックアップとして保存してください。構築中でも微調整中でも後退は避けられないため、問題を予測することが重要です。
これは、不安定性を軽減するという重要な時間を節約する実践につながります。モデルが大きくなればなるほど、メンテナンスは難しくなります。モデルは、過学習や過小学習だけでなく、勾配の消失や爆発、モード崩壊、損失スパイク、壊滅的な忘却、ハードウェア制約などの問題が発生する可能性があります。
壊滅的な忘却についてはすでに説明しました。これは、新しいタイプのタスクを導入した後、モデルが以前のタスクでうまくいかなかったときに発生します。勾配の消失または爆発は、ディープ ニューラル ネットワークのトレーニングにおける一般的な問題であり、勾配が小さすぎたり大きすぎたりして、学習プロセスが遅くなったり不安定になったりします。モード崩壊は生成モデルで発生し、モデルが異なる入力を持っているにもかかわらず同じ出力を生成する場合に発生します。損失のスパイクとは、モデルからの予測がますます不適切になることを指します。最後に、LLM の操作はハードウェアにとって困難な場合があり、障害が発生する可能性があります。
不安定性に備える、または少なくとも軽減する方法はいくつかあります。これらは画期的なものではありませんが、さまざまな深層学習アプリケーションでも見られる標準的な手法です。
バッチ サイズ— 一般に、GPU メモリに適合する最大のバッチ サイズを使用することをお勧めします。バッチ サイズが大きいほど、計算効率、メモリ使用率、および潜在的により正確な勾配推定の点で利点が得られます。 GPU の並列処理機能をより有効に活用できるため、トレーニング時間が短縮されます。
正則化手法を使用する— ドロップアウトや重み減衰などの正則化手法は、過学習やモデルの不安定性の防止に役立ちます。
バッチ正規化— バッチ正規化は内部共変量シフトを軽減するのに役立ち、トレーニング中のより高速で安定した収束を可能にします。また、ネットワーク内で勾配がよりスムーズに流れるようにすることで、勾配消失の問題を軽減するのにも役立ちます。
適切な重みの初期化の選択— 重みの初期化は、トレーニングの不安定性を軽減し、効果的な学習を確保する上で重要な役割を果たします。重みの初期化に対する一般的なアプローチの 1 つは、小さなガウス ノイズを使用することです。これには、平均がゼロで標準偏差が小さいガウス分布から重みをランダムに初期化することが含まれます。ランダム ノイズを追加することで、重みに初期多様性が与えられ、モデルがトレーニング中にさまざまなソリューションを探索できるようになります。
データ拡張— モデルが一般化できず、過剰適合しやすい場合、データ拡張はトレーニング データに変動を導入し、モデルの堅牢性を向上させることで、この問題を軽減するのに役立ちます。
学習率のスケジューリング— 時間の経過とともに学習率を徐々に下げて、損失を減らし、モデルの安定性を可能な限り維持します。ステップ減衰または指数減衰を使用できます。ステップ減衰は学習率を一定の間隔で係数ずつ減少させることですが、指数関数的減衰は学習率を指数関数的に減少させます。
企業が LLM の影響を認識し続けるにつれて、企業がこの貴重なツールを活用する最善の方法は何かを問い始めるのは当然のことです。適切な LLM を選択し、企業のニーズに合わせて微調整する方が簡単なオプションかもしれません。ただし、効果的かつ最も効率的な方法でモデルを微調整するには、さまざまな考慮事項が必要になります。
まず、チームはさまざまな LLM を正しく評価して、最適な開始点を選択できなければなりません。彼らはモデルを試してみることに抵抗がないはずです。効率を高めるには、LLM の構築または微調整に関する戦略を作成する際に、高品質のデータとベスト プラクティスを念頭に置く必要があります。
どちらを選んでも、これは複雑で野心的なプロジェクトですが、すでに見てきたように、LLM には価値をもたらす素晴らしい潜在力があります。
[1] IBM、CEO は生産性が課題のトップに躍り出る中、ジェネレーティブ AI を採用 (2023 年)、IBM ニュースルーム
[3] McKinsey & Company、生成 AI の経済的可能性: 次の生産性フロンティア (2023)、McKinsey Digital Insights
[4] C. Li、Demystifying GPT-3 (2023)、Lambda Labs ブログ
[5] J. Langston、Microsoft が新しいスーパーコンピューターを発表、将来の AI 作業のビジョンを示す (2020)、Microsoft ニュース ソースの特徴イノベーション
[6] J. シェイク、金融の ChatGPT が登場: ブルームバーグは AI とフィンテックを組み合わせている (2023)、Forbes.com
[7] E. d'Archimbaud、特定のニーズに合わせて基礎モデルを適応させる 3 つの方法 (2023)、Kili Technology。
[8] M. Heikkilä、How OpenAI が ChatGPT をより安全で偏りの少ないものにしようとしているか (2023)、MIT Technology Review。
[12] A. Pai、ゼロから独自の大規模言語モデルを構築するための初心者ガイド (2023)、Analytics Vidhya。
LLM の構築または微調整における課題、コスト、考慮事項 | HackerNoon