検索
ホームページテクノロジー周辺機器AI650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

大規模モデルの方向では、テクノロジー大手が大規模なモデルをトレーニングしており、学術界はモデルを最適化する方法を考えています。最近、コンピューティング能力を最適化する方法が新たなレベルに上昇しました。

大規模言語モデル (LLM) は、自然言語処理 (NLP) の分野に革命をもたらし、創発やひらめきなどの並外れた能力を実証しました。ただし、特定の一般的な機能を備えたモデルを構築したい場合は、数十億のパラメーターが必要となり、NLP 研究の敷居が大幅に高くなります。 LLM モデルのチューニング プロセスには通常、8×80GB GPU デバイスなどの高価な GPU リソースが必要となるため、小規模の研究所や企業がこの分野の研究に参加することが困難になります。

最近、限られたリソースで LLM を調整するためのソリューションを提供する、LoRA やプレフィックスチューニングなどのパラメーター効率的微調整技術 (PEFT) が研究されています。ただし、これらの方法は、パラメータ効率の高い微調整よりも強力な方法として認識されているフルパラメータ微調整に対する実用的な解決策を提供しません。

復旦大学の邱西鵬氏のチームが先週提出した論文「リソースが限られた大規模言語モデルのためのフルパラメータ微調整」の中で、研究者らは新しいオプティマイザー LOw-Memory Optimization (ロモ)。

LOMO を既存のメモリ節約技術と統合することにより、新しいアプローチでは標準のアプローチ (DeepSpeed ソリューション) と比較してメモリ使用量が 10.8% に削減されます。その結果、新しいアプローチにより、それぞれ 24 GB のメモリを搭載した 8 × RTX 3090 を搭載したマシン上で 65B モデルの完全なパラメーター微調整が可能になります。

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

論文リンク: https://arxiv.org/abs/2306.09782

この研究では、著者は LLM のメモリ使用量の 4 つの側面 (アクティベーション、オプティマイザーの状態、勾配テンソルとパラメーター) を分析し、次の 3 つの側面でトレーニング プロセスを最適化しました。

  1. 私たちはアルゴリズムの観点からオプテ​​ィマイザーの機能を再検討し、LLM の完全なパラメーターを微調整するには SGD が優れた代替手段であることがわかりました。これにより、SGD は中間状態を保存しないため、作成者はオプティマイザ状態の一部全体を削除できます。
  2. 新しく提案されたオプティマイザ LOMO は、勾配テンソルのメモリ使用量を O(1) に削減します。これは、最大の勾配テンソルのメモリ使用量と同等です。
  3. LOMO を使用した混合精度トレーニングを安定させるために、著者らは勾配正規化、損失スケーリングを統合し、トレーニング中に特定の計算を完全精度に変換します。

#新しいテクノロジにより、メモリ使用量はパラメータ使用量にアクティブ化テンソルと最大勾配テンソルを加えたものと等しくなります。フルパラメータ微調整のメモリ使用量は極限まで高められており、これは推論の使用量に相当します。これは、順方向、逆方向プロセスのメモリ フットプリントが、順方向プロセスのみのメモリ フットプリント以上である必要があるためです。 LOMO を使用してメモリを節約する場合、パラメータ更新プロセスは依然として SGD と同等であるため、新しい方法では微調整プロセスが影響を受けないことが保証されることは注目に値します。

この研究では、LOMO のメモリとスループットのパフォーマンスを評価し、LOMO を使用すると、研究者が 8 つの RTX 3090 GPU で 65B のパラメーター モデルをトレーニングできることが示されました。さらに、ダウンストリーム タスクでの LOMO のパフォーマンスを検証するために、LOMO を適用して SuperGLUE データセット コレクション上の LLM のすべてのパラメーターを調整しました。この結果は、数十億のパラメータを使用して LLM を最適化する LOMO の有効性を示しています。

方法の紹介

この記事では、方法セクションで LOMO (LOW-MEMORY OPTIMIZATION) について詳しく紹介します。一般に、勾配テンソルはパラメータ テンソルの勾配を表し、そのサイズはパラメータと同じであるため、メモリ オーバーヘッドが大きくなります。 PyTorch などの既存の深層学習フレームワークは、すべてのパラメーターの勾配テンソルを保存します。現在、勾配テンソルを保存する理由は 2 つあります。それは、オプティマイザーの状態を計算することと、勾配を正規化することです。

この研究ではオプティマイザーとして SGD を採用しているため、勾配に依存するオプティマイザーの状態はなく、勾配正規化の代替手段がいくつかあります。

彼らは、アルゴリズム 1 に示すように、勾配計算とパラメーター更新を 1 ステップで融合する LOMO を提案し、勾配テンソルの保存を回避しました。

次の図は、バックプロパゲーション段階とパラメーター更新段階における SGD と LOMO の比較を示しています。 Pi はモデル パラメーター、Gi は Pi に対応する勾配です。 LOMO は、勾配計算とパラメーター更新を 1 つのステップに統合して、勾配テンソルを最小限に抑えます。

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

#LOMO 対応アルゴリズム擬似コード:

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

具体的には、この研究ではバニラ勾配降下法を

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

として表します。これは 2 段階のプロセスであり、最初に計算します。グラデーションを設定してからパラメータを更新します。融合バージョンは

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

この研究の重要なアイデアは、勾配の計算時にパラメーターを即座に更新することです。これにより、勾配テンソルは次のようになります。メモリには保存されません。このステップは、バックプロパゲーションにフック関数を注入することで実現できます。 PyTorch はフック関数を挿入するための関連 API を提供しますが、現在の API では正確な即時更新を実現することは不可能です。代わりに、この研究では最大 1 つのパラメーターの勾配をメモリに保存し、バックプロパゲーションを使用して各パラメーターを 1 つずつ更新します。この方法により、勾配のメモリ使用量が、すべてのパラメータの勾配を保存する場合から 1 つのパラメータのみの勾配にまで削減されます。

LOMO のメモリ使用量のほとんどは、パラメータ効率の高い微調整手法のメモリ使用量と一致しており、LOMO とこれらの手法を組み合わせても、メモリ使用量はわずかに増加するだけであることがわかります。勾配メモリ使用量。これにより、より多くのパラメータを PEFT メソッド用に調整できるようになります。

実験結果

実験部分では、研究者らは、メモリ使用量、スループット、ダウンストリームのパフォーマンスという 3 つの側面から提案手法を評価しました。詳しい説明は省略しますが、すべての実験は LLaMA モデル 7B ~ 65B を使用して実行されました。

メモリ使用量

研究者らは、まずモデルのステータスとアクティブ化されたメモリの使用量を分析しました。表 1 に示すように、AdamW オプティマイザーと比較して、LOMO オプティマイザーを使用すると、メモリ使用量が 102.20GB から 14.58GB に大幅に削減されます。LLaMA-7B モデルをトレーニングする場合、SGD と比較してメモリ使用量が減少します。 51.99GB から 14.58GB に減少しました。メモリ使用量の大幅な削減は、主に勾配とオプティマイザの状態に必要なメモリが削減されたことによるものです。したがって、トレーニング プロセス中、メモリの大部分はパラメータによって占有されます。これは、推論中のメモリ使用量と同等です。

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

#図 2 に示すように、LLaMA-7B トレーニングに AdamW オプティマイザーが使用される場合、かなりの割合のメモリが( 73.7%) はオプティマイザ状態に割り当てられます。 AdamW オプティマイザーを SGD オプティマイザーに置き換えると、オプティマイザー状態によって占有されるメモリの割合が効果的に削減され、GPU メモリの使用量が軽減されます (102.20GB から 51.99GB に)。 LOMO を使用すると、パラメータの更新とその逆の処理が 1 つのステップにマージされ、オプティマイザ状態のためのメモリ要件がさらに排除されます。

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

スループット

研究者は、LOMO、AdamW、および SGD のスループット パフォーマンスを比較しました。実験は 8 つの RTX 3090 GPU を搭載したサーバーで実施されました。

7B モデルの場合、LOMO のスループットは AdamW と SGD を約 11 倍上回り、大きな利点を示しています。この大幅な改善は、単一の GPU で 7B モデルをトレーニングする LOMO の機能に起因しており、これにより GPU 間の通信オーバーヘッドが削減されます。 AdamW と比較して SGD のスループットがわずかに高いのは、SGD が運動量と分散の計算を除外しているためであると考えられます。

13B モデルに関しては、メモリ制限のため、既存の 8 つの RTX 3090 GPU で AdamW を使用してトレーニングすることはできません。この場合、LOMO にはモデルの並列処理が必要ですが、スループットの点では依然として SGD を上回っています。この利点は、LOMO のメモリ効率の高い性質と、同じ設定でモデルをトレーニングするのに必要な GPU が 2 つだけであるため、通信コストが削減され、スループットが向上するという事実によるものです。さらに、SGD では 30B モデルのトレーニング時に 8 つの RTX 3090 GPU でメモリ不足 (OOM) の問題が発生しましたが、LOMO は 4 つの GPU のみで良好にパフォーマンスを発揮しました。

最終的に、研究者は 8 つの RTX 3090 GPU を使用して 65B モデルのトレーニングに成功し、4.93 TGS のスループットを達成しました。このサーバー構成と LOMO を使用すると、1,000 個のサンプル (各サンプルには 512 個のトークンが含まれます) でのモデルのトレーニング プロセスに約 3.6 時間かかります。

ダウンストリームのパフォーマンス

大規模な言語モデルの微調整における LOMO の有効性を評価するために、研究者たちは広範囲にわたる一連の実験。彼らは LOMO を他の 2 つの方法と比較しました。1 つは微調整を必要としないゼロショットであり、もう 1 つは一般的なパラメータ効率の高い微調整手法である LoRA です。

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

表 3 の結果は次のことを示しています:

  • LOMO のパフォーマンスは Zero よりも大幅に優れています-shot ;
  • ほとんどの実験では、LOMO は通常 LoRA よりも優れたパフォーマンスを発揮します。
  • LOMO は 650 億のパラメーター モデルまで効果的に拡張できます。

LOMO と LoRA は本質的に互いに独立しています。この声明を検証するために、研究者らはLLaMA-13Bを使用してBoolQデータセットとMultiRCデータセットで実験を実施しました。結果を図 3 に示します。

彼らは、LoRA がどれほど高い結果を達成したかに関係なく、LOMO が LoRA のパフォーマンスを向上させ続けることを発見しました。これは、LOMO と LoRA で採用されているさまざまな微調整方法が補完的であることを示しています。具体的には、LOMO は事前トレーニングされたモデルの重みを微調整することに重点を置き、LoRA は他のモジュールを調整します。したがって、LOMO は LoRA のパフォーマンスに影響を与えず、代わりに下流タスクのモデル調整を容易にします。

650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げました

# 詳細については、元の論文を参照してください。

以上が650 億のパラメータ、8 つの GPU ですべてのパラメータを微調整可能: Qiu Xipeng のチームは大規模モデルのしきい値を下げましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
AIセラピストがここにいます:あなたが知る必要がある14の画期的なメンタルヘルスツールAIセラピストがここにいます:あなたが知る必要がある14の画期的なメンタルヘルスツールApr 30, 2025 am 11:17 AM

訓練を受けたセラピストの人間のつながりと直観を提供することはできませんが、多くの人々は、比較的顔のない匿名のAIボットと心配や懸念を共有することを快適に共有していることが研究で示されています。 これが常に良いかどうか

食料品の通路にAIを呼びます食料品の通路にAIを呼びますApr 30, 2025 am 11:16 AM

数十年の技術である人工知能(AI)は、食品小売業界に革命をもたらしています。 大規模な効率性の向上とコスト削減から、さまざまなビジネス機能にわたる合理化されたプロセスまで、AIの影響はUndeniablです

あなたの精神を持ち上げるために生成的なAIからPEPの話をするあなたの精神を持ち上げるために生成的なAIからPEPの話をするApr 30, 2025 am 11:15 AM

それについて話しましょう。 革新的なAIブレークスルーのこの分析は、さまざまなインパクトのあるAIの複雑さを特定して説明するなど、最新のAIで進行中のForbes列のカバレッジの一部です(こちらのリンクを参照)。さらに、私のコンプのために

AI駆動のハイパーパーソナリゼーションがすべてのビジネスにとって必須である理由AI駆動のハイパーパーソナリゼーションがすべてのビジネスにとって必須である理由Apr 30, 2025 am 11:14 AM

プロの画像を維持するには、時折ワードローブの更新が必要です。 オンラインショッピングは便利ですが、対面の試練の確実性がありません。 私の解決策? AI駆動のパーソナライズ。 衣類の選択をキュレーションするAIアシスタントが想像しています

Duolingoを忘れてください:Google Translateの新しいAI機能は言語を教えていますDuolingoを忘れてください:Google Translateの新しいAI機能は言語を教えていますApr 30, 2025 am 11:13 AM

Google Translateは言語学習機能を追加します Android Authorityによると、App Expert AssemberBugは、Google Translateアプリの最新バージョンには、パーソナライズされたアクティビティを通じてユーザーが言語スキルを向上させるように設計された新しい「実践」モードのテストコードが含まれていることを発見しました。この機能は現在、ユーザーには見えませんが、AssembleDebugはそれを部分的にアクティブにして、新しいユーザーインターフェイス要素の一部を表示できます。 アクティブ化すると、この機能は、「ベータ」バッジでマークされた画面の下部に新しい卒業キャップアイコンを追加し、「実践」機能が最初に実験形式でリリースされることを示します。 関連するポップアッププロンプトは、「あなたのために調整されたアクティビティを練習してください!」を示しています。つまり、Googleがカスタマイズされたことを意味します

彼らはAIのためにTCP/IPを作成しており、Nandaと呼ばれています彼らはAIのためにTCP/IPを作成しており、Nandaと呼ばれていますApr 30, 2025 am 11:12 AM

MITの研究者は、AIエージェント向けに設計された画期的なWebプロトコルであるNandaを開発しています。 ネットワークエージェントと分散型AIの略であるNandaは、インターネット機能を追加することにより、人類のモデルコンテキストプロトコル(MCP)に基づいて構築され、AI Agenを可能にします

プロンプト:Deepfake Detectionは活況を呈しているビジネスですプロンプト:Deepfake Detectionは活況を呈しているビジネスですApr 30, 2025 am 11:11 AM

メタの最新のベンチャー:chatgptに匹敵するAIアプリ Facebook、Instagram、WhatsApp、およびThreadsの親会社であるMetaは、新しいAIを搭載したアプリケーションを立ち上げています。 このスタンドアロンアプリであるMeta AIは、OpenaiのChatGptと直接競争することを目指しています。 レバー

ビジネスリーダーのためのAIサイバーセキュリティでの次の2年間ビジネスリーダーのためのAIサイバーセキュリティでの次の2年間Apr 30, 2025 am 11:10 AM

AIサイバー攻撃の上昇する潮をナビゲートします 最近、人類のためのCISOであるジェイソン・クリントンは、機械間通信が増殖すると、これらの「アイデンティティ」を保護するために、非人間のアイデンティティに結びついた新たなリスクを強調しました。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。