HUOXIU

「キャッシュバーニング」モデル:コスト分解と最適化手法の初期検討

編集者注:大規模モデルのコストは常に大きな懸念事項です。この記事では、大規模言語モデル(LLM)の学習コストに焦点を当て、LLMとは何か、そして大規模モデルの推論性能を最適化するためのいくつかの手法について簡単に紹介します。

今後LLMがどのように発展していくかを正確に予測することは難しいですが、費用の問題が解決されれば、LLMは私たちの生活に欠かせないものになることは間違いありません。

翻訳はこちらです。お楽しみください!

著者|ドミトロ・ニコライエフ(ディミッド)

編纂者:岳陽

かつて機械学習は、限られた人しか理解できない複雑な技術分野と考えられていました。しかし、機械学習の応用がますます強力になるにつれ、一般の関心が高まり、人工知能関連のコンテンツが氾濫しました。この流れは2022年11月のChatGPTのリリースでピークに達し、2023年3月のGPT-4のリリースで第二のピークを迎えました。この時点で、AIに最も懐疑的だった人々でさえ、ニューラルネットワークの能力に驚嘆しました。

人工知能(AI)は大きな注目を集めており、関連するオンラインコンテンツが数多く存在します。これらのコンテンツの中には確かに価値のあるものもありますが、AIが人間の仕事をすべて置き換える、ニューラルネットワークが莫大な富を生み出す秘密を発見したといった主張など、恐怖や誤情報を広めるコンテンツも相当数存在します。そのため、機械学習や大規模言語モデル(LLM)に関する誤解を払拭し、人々がこれらの技術をより深く理解するための有益なコンテンツを提供することがますます重要になっています。

本稿では、現在の機械学習分野においてしばしば見落とされたり誤解されたりする側面、すなわち大規模言語モデルの学習コストについて考察します。また、LLM(言語、メトリクス、アプリケーション)と、大規模モデルの推論プロセスを最適化するために用いられる可能性のあるいくつかの手法についても簡単に紹介します。包括的な概要を通して、これらの手法が恣意的なものではないことを読者にご理解いただきたいと考えています。データの規模と基盤となる計算を理解することで、これらの強力なツールをより深く理解することができます。

本論文の大部分は、Meta AI [1] が発表した LLaMA に関する最近の論文に基づいています。これは、この論文が、これらのモデルの学習に使用したデータと計算コストを明確に示しているためです。本論文は以下のセクションに分かれています。

  • まず、この記事では最新のLLMとは何かを簡単に紹介します。

  • 次に、この論文ではこれらのモデルのトレーニングにかかる​​コストについて説明します。

  • 最後に、この記事では、モデル推論技術の最適化手法をいくつか簡単に紹介します。

大規模言語モデルの世界を深く探求していくと、それが信じられないほど単純であると同時に信じられないほど複雑であることがわかります。

01大規模言語モデル入門

大規模言語モデル (LLM) のトレーニングに関連するコストと費用について説明する前に、まず言語モデルとは何かを簡単に定義しましょう。

2018年から2019年にリリースされたいくつかの言語モデルのパラメータ数

今日の LLM のパラメータは通常、数百億から数千億の範囲にあります。

図 1 は DistilBERT の論文からの抜粋です。

簡単に言えば、言語モデルとは、人間の自然言語を理解または生成するために設計された機械学習アルゴリズムです。近年、OpenAIが開発したGPTモデルシリーズ( ChatGPT、GPT-4など)をはじめ、言語生成モデルの人気が高まっています(GPTはGenerative Pre-trained Transformerの略で、Transformerアーキテクチャ[2]に基づいていることから名付けられました)。

あまり知られていないものの、依然として重要なモデルもいくつかあります。例えば、GPT-3(175B) [3] 、BLOOM(176B) [4] 、Gopher(280B) [5] 、Chinchilla(70B) [6] 、LLaMA(65B) [7]などです。ここで、Bはパラメータ数を表し、これらのモデルの多くにはパラメータ数が少ないバージョンも存在します。

一般的なLLMアーキテクチャの例。画像は著者提供。

ChatGPT、特にGPT-4のパラメータ数については現時点では情報がありませんが、ほぼ同じであるようです。

これらのモデルは大量のテキストデータを用いて「トレーニング」され、自然言語の複雑なパターンや構造を学習します。しかし、トレーニング中に解決するタスクは非常に単純で、シーケンス内の次の単語(またはトークン)を予測するだけです。

このタイプのモデルは自己回帰モデルと呼ばれ、過去の出力を未来予測の入力として用い、段階的に出力を生成します。これはChatGPTの出力例に見ることができます。

GhatGPTが応答しました。

GIF は、著者が ChatGPT を使用した結果です。

ChatGPT は段階的に回答を生成し、生成されたコンテンツはトークンと呼ばれる不完全な単語のチャンクになることがあります。

各ステップにおいて、モデルは前の出力を現在の入力に連結し、特別な「シーケンス終了」(EOS)トークンに達するまで生成を続けます。簡略化のため、プロンプトタスクは省略し、単語をトークンとして使用します。このプロセスは以下のように図示できます。

自己回帰モデルを用いたテキスト生成の説明。画像は著者提供。

この単純なメカニズムと、(人間が一生かけても読みきれないほどの)膨大な量のデータを組み合わせることで、モデルは人間の文章を模倣した首尾一貫した文脈に適したテキストを生成することができます。

ここで生成モデルについてのみ話しているのなら、なぜ他の一連のモデルがないのでしょうか?

理由は単純です。テキスト生成は人間にとって最も困難で印象的なタスクの一つです。ChatGPTは5日間で100万人のユーザーを獲得しました[8]。これはこれまでのどのアプリケーションよりも速いペースであり、この勢いは今も続いています[9]。

いわゆるエンコーダ[10](BERTモデルシリーズ)は人間にとってそれほど刺激的ではないかもしれませんが、人間レベルでさまざまな問題を解決し、テキスト分類[11]や名前付きエンティティ認識(NER)[12]などのタスクに役立ちます。

大規模言語モデルで何ができるのか、具体的な例はここでは挙げません。既にオンライン上には多くの事例が存在するからです。ChatGPTを実際に試してみるのが最善の方法ですが、Awesome ChatGPT promptsのような優れたプロンプトを参考にすることもできます。大規模言語モデルは驚くべき能力を備えていますが、現状ではいくつかの制限があります。その中で最も一般的かつ重要なものは以下のとおりです。

  • 既存のバイアスと知識の静的性:LLMモデルは多くのソースからのデータで学習されるため、意図せずデータに存在するバイアスを学習し、再現してしまう可能性があります。さらに、知識の静的性も示し、再学習なしに新しいデータに適応したり、知識をリアルタイムで更新したりすることができません。

  • 入力の不完全な理解と誤った情報の存在:LLMモデルは人間のようなテキストを生成できますが、入力の文脈を常に完全に理解できるとは限りません。さらに、出力テキストを生成する自己回帰法では、モデルが誤ったコンテンツや意味のないコンテンツを生成することを防ぐことはできません。

  • 過剰なリソース消費:LLMモデルの学習には膨大な計算リソースが必要となり、学習コストとエネルギー消費が増大します。この要因は、中小企業や個人研究者によるLLMモデルの開発を制限する可能性があります。

これらの欠点やその他の欠点は、AI研究コミュニティで常に議論されている話題です。AI分野は急速に発展しているため、数ヶ月後にどのような欠点や限界が克服されるかを予測することは困難ですが、新たな欠点や限界が出現することは間違いありません。

以前のモデルは単にパラメータ数を増やしていましたが、現在ではより小さなモデルを訓練し、より多くのデータを入力することに多くの時間を費やすという、より優れたアプローチが採用されています。これにより、モデルのサイズが削減され、その後の使用コストも削減されます。

LLM の概要を理解したら、この記事の主要部分である大規模言語モデルのトレーニングにかかる​​コストの見積もりに進みましょう。

02機械学習モデルの一般的なコスト、特にLLMコストの見積もり

大規模言語モデルのトレーニングコストを見積もるには、次の 3 つの重要な要素を考慮する必要があります。

  • データ

  • コンピューティングリソース

  • そしてアーキテクチャ(またはアルゴリズム自体)。

それでは、これら 3 つの側面を詳しく調べて、トレーニング コストへの影響を理解しましょう。

2.1 データ

LLMは、自然言語のパターンと構造を学習するために大量のデータを必要とします。企業は通常、長期間にわたる事業運営を通じて蓄積されたデータやオープンソースのデータセットを使用するため、データのコストを見積もることは困難です。

さらに、データのクレンジング、ラベル付け、整理、そして保存も必要です。LLMの規模を考えると、特にこれらのタスクに必要なインフラストラクチャ、ツール、そしてデータエンジニアを考慮すると、データ管理と処理のコストは急速に増加します。

具体的な例として、LLaMA は 1.4 兆個のトークンを含む、合計サイズが 4.6 TB のトレーニング データセットを使用することが知られています。

LLaMA モデルのトレーニング データセット (表 1) は、LLaMA の論文からのものです。

小さいモデル ( 7B と 13B ) は1T トークンを使用してトレーニングされましたが、大きいモデル ( 33B と 65B ) は1.4T トークンの完全なデータセットを使用しました。

LLaMA 論文より、トークン数の関数として LLaMA モデルのトレーニング損失を示すグラフ。

今では、これらのデータセットがいかに巨大であるかが話題になった時、それが誇張表現ではなかったことは明らかであり、10年前に大規模モデルがこれを達成できなかった理由も理解できます。しかし、計算リソースの問題はさらに興味深いものです。

2.2 コンピューティングリソース

LLMトレーニングのコストの大部分は、トレーニングプロセスにかかっています。大規模な言語モデルのトレーニングには、膨大な計算リソースが必要であり、並列処理能力を高めるために強力なグラフィック処理装置(GPU)の使用が不可欠です。NVIDIAは毎年、それぞれ数十万ドルもする新しいGPUをリリースしています。

クラウド コンピューティング サービスを使用する場合、これらのモデルのトレーニングにかかる​​コストは、さまざまな構成を反復する必要があることを考慮すると、基本的に数百万ドルと驚くほど高額になる可能性があります。

LLaMAの論文に戻ると、彼らはそれぞれ最大80GBのビデオメモリを搭載した2000台のGPUを使用したと記されています。これほど強力な計算能力をもってしても、最大の65Bモデルの学習には21日かかりました。

LLaMA モデルのトレーニングに使用される計算リソースの量。LLaMA 論文からの画像。

著者が使用したNVIDIA A100 GPUは、ニューラルネットワークのトレーニングによく使用されます。Google Cloudでは、このようなGPUを1時間あたり3.93ドルで提供しています。

NVIDIA A100 GPUの価格

それでは簡単に計算してみましょう。

400万ドルの費用は、すべての研究者が負担できるものではありませんよね?しかも、それはたった一度の実行コストです!この記事ではGPT-3[13]のトレーニングコストを推定しており、著者らは355GPU年と460万ドルのコストが必要だと述べています。

2.3アーキテクチャ(およびインフラストラクチャ)

アーキテクチャ(およびインフラストラクチャ)

LLMの開発には、熟練した研究者やエンジニアによる合理的なアーキテクチャの設計と学習プロセスの適切な構成も必要です。アーキテクチャはモデルの基盤であり、学習方法とテキスト生成方法を決定します。

これらのアーキテクチャには、様々なコンピュータサイエンス分野の専門知識が求められます。優れたプロジェクト成果の発表と提供に責任を負うエンジニアや研究者は、数十万ドルもの収入を得る可能性があります。法学修士(LLM)の育成に必要な技術スタックは、「典型的な」機械学習エンジニアのそれとは大きく異なる可能性があることに注意することが重要です。

機械学習システムのインフラストラクチャ。図は論文「機械学習システムにおける隠れた技術的負債」[14]より引用。

LLMの学習は非常に困難で、多くのリソースを必要とするエンジニアリング上の問題です。ここでは、LLM推論プロセスをより効率的かつ費用対効果の高いものにするためのいくつかの方法について簡単に説明します。

03言語モデルの推論能力を最適化する

3.1 本当に最適化する必要があるのでしょうか?

推論とは、事前学習済みの言語モデル(通常はAPIまたはウェブサービスとして提供)を用いて予測や応答を生成するプロセスを指します。LLMモデルは膨大なリソースを消費するため、効率的な推論を実現するために最適化する必要があります。

例えば、GPT-3モデルには1750億個のパラメータがあり、これは700GBのfloat32数値に相当します。アクティベーションにもほぼ同量のメモリが必要ですが、ここで言及しているのはRAMであることに留意してください。

予測に最適化手法を使用しない場合、それぞれ 80 GB の VRAM を備えた 16 個の A100 GPU が必要になります。

モデルの並列処理、モデルの量子化など、いくつかの一般的な手法は、メモリ要件とモデルのレイテンシを削減するのに役立ちます。

3.2 モデルの並列性

モデル並列化[15]は、単一モデルの計算を複数のGPUに分散させ、学習と推論のプロセスに利用します。モデルのレイヤーやパラメータを複数のデバイスに分割することで、全体的な推論速度を大幅に向上させることができ、実用化において頻繁に利用されています。

3.3 モデルの量子化

モデル量子化[16]は、重みなどのモデル値の精度を下げることを伴います。浮動小数点数を低精度の整数に変換することで、モデル量子化はモデル性能を大幅に損なうことなく、メモリを大幅に節約し、計算速度を向上させることができます。float32ではなくfloat16を使用すると、メモリ使用量が半分に削減されるというアイデアがあるかもしれません。モデルの重みをint8に変換しても、精度の低下はほとんどないことが判明しています。

3.4 その他の技術

LLM 手法の最適化は活発な研究分野であり、次のような他の手法も研究されています。

  • 知識蒸留[17] - より大きな教師モデルの行動を模倣するためにより小さな生徒モデルを訓練する。

  • パラメータプルーニング[18] - モデルから冗長なパラメータや重要でないパラメータを削除して、モデルのサイズと計算リソースの要件を削減します。

  • ORT(ONNXランタイム)[19]のようなフレームワークは、演算子の融合や定数の折り畳みなどの技術を通じて計算グラフを最適化するために使用されます

まとめると、大規模言語モデルの推論を最適化することは、LLMの導入において極めて重要な側面です。開発者は様々な最適化手法を適用することで、LLMが強力かつ正確であるだけでなく、費用対効果が高くスケーラブルであることも保証できます。

04 OpenAI が ChatGPT を一般公開したのはなぜですか?

大規模言語モデルの学習と推論にかかるコストの高さを考えると、この決定について疑問に思う人もいるかもしれません。OpenAIの正確な動機を特定することはできませんが、この決定の背後にあるメリットと潜在的な戦略的理由を分析することは可能です。

まず、OpenAIは高度なLLM(言語モデリング)を一般公開したことで、大きな認知度を獲得しました。大規模言語モデルの実用化を実証することで、投資家、顧客、そしてテクノロジー業界全体から注目を集めました

第二に、OpenAIの使命は人工知能の創造と開発にあります。ChatGPTを公開することで、同社はその使命の達成に近づき、社会変革への準備を進めていると見ることができます。このような強力なAIツールを公開することは、イノベーションを促進し、AI研究分野を前進させる可能性があります。この進歩は、より効率的なモデル、より多様なアプリケーション、そして様々な新しいソリューションにつながる可能性があります。しかし、ChatGPTとGPT-4のアーキテクチャは公開されていませんが、これは議論する価値のある別のトピックです。

大規模言語モデルの学習と維持にかかるコストは莫大なものであることは間違いありませんが、 ChatGPTのオープン化は、知名度の向上と人工知能分野におけるリーダーシップの確立に寄与しただけでなく、より多くのデータを収集し、より強力なモデルを学習させることにもつながりました。この戦略により、ChatGPTはミッションを継続的に推進することができ、ある意味では人工知能とLLM技術の発展に大きく貢献しました。

OpenAIがChatGPTへの無料アクセスを提供している理由を尋ねると、疑問は残ります。

05結論

この記事で説明されているように、大規模言語モデルのトレーニングコストは、高価なコンピューティングリソースだけでなく、ビッグデータ管理やモデル開発アーキテクチャなどの分野における専門知識の必要性など、さまざまな要因の影響を受けます

今日の LLM には通常、数十億のパラメーターがあり、トレーニング中に数兆のトークンが使用され、トレーニングには数百万ドルのコストがかかります。

これで、大規模言語モデルのトレーニングと推論にかかるコスト、およびその制限と落とし穴について理解していただけたと思います。

自然言語処理分野は、数年間続いたImageNet時代[20]から、生成モデルの時代へと移行しました。生成言語モデルの広範な応用と利用は、あらゆる産業と私たちの生活のあらゆる側面に革命をもたらす可能性を秘めています。これらの変化を正確に予測することは困難ですが、LLMが世界に何らかの影響を与えることは間違いありません。

個人的には、単に「大きな」モデルではなく、「よりスマートな」モデルをトレーニングすることを好みます。LLMをより洗練された方法で開発・展開する方法を模索することで、AIとNLPの境界が広がり、より革新的なソリューションへの扉が開かれ、この分野のより明るい未来が開けるでしょう。

終わり

参考文献

1.https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

2.https://huggingface.co/course/chapter1/4

3.https://en.wikipedia.org/wiki/GPT-3

4.https://bigscience.huggingface.co/blog/bloom

5.https://www.deepmind.com/blog/language-modelling-at-scale-gopher-ethical-considerations-and-retrieval

6.https://arxiv.org/abs/2203.15556

7.https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

8.https://twitter.com/gdb/status/1599683104142430208

9.https://www.reuters.com/technology/chatgpt-sets-record-fastest-growing-user-base-analyst-note-2023-02-01/

10.https://huggingface.co/course/chapter1/5

11.https://paperswithcode.com/task/text-classification

12.https://paperswithcode.com/task/名前付きエンティティ認識

13. https://lambdalabs.com/blog/demystifying-gpt-3

14.https://proceedings.neurips.cc/paper_files/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

15.https://colossalai.org/docs/concepts/paradigms_of_parallelism/

16.https://huggingface.co/docs/optimum/concept_guides/quantization

17.https://neptune.ai/blog/knowledge-distillation

18. https://analyticsindiamag.com/a-beginners-guide-to-neural-network-pruning/

19. https://onnxruntime.ai/

20.https://thegradient.pub/nlp-imagenet/

この記事は、原著者の許可を得てBaihai IDPによって翻訳されました。翻訳の転載をご希望の場合は、お問い合わせください。

オリジナルリンク:

https://towardsdatascience.com/behind-the-millions-estimating-the-scale-of-large-language-models-97bd7287fb6b