2024 年の大規模言語モデル構築への道のり
2024 年には、研究者やエンジニアが自然言語処理の限界を押し広げ続けるにつれて、大規模言語モデル (LLM) における技術的な飛躍が見られるでしょう。これらのパラメーターが豊富な LLM は、私たちがマシンと対話する方法に革命をもたらし、より自然な会話、コード生成、複雑な推論を可能にします。ただし、これらの巨大企業の構築は、複雑なデータ準備、高度なトレーニング技術、スケーラブルな推論を必要とするため、簡単な作業ではありません。このレビューでは、LLM の構築に必要な技術的な詳細を掘り下げ、データ ソーシングからトレーニングの革新と調整戦略に至るまでの最近の進歩を取り上げます。
2024 年は、研究者やエンジニアが自然言語処理の可能性の限界を押し広げ、大規模言語モデル (LLM) にとって画期的な時代となることが予想されます。数十億、さらには数兆のパラメータを持つこれらの大規模なニューラル ネットワークは、私たちがマシンと対話する方法に革命をもたらし、より自然で自由な会話、コード生成、マルチモーダル推論を可能にします。
しかし、このような大規模な LL.M を設立するのは簡単なことではありません。データの調達と準備から高度なトレーニング技術とスケーラブルな推論に至るまで、慎重に厳選されたパイプラインが必要です。この投稿では、これらの最先端の言語モデルの構築に伴う技術的な複雑さを深く掘り下げ、スタック全体の最新のイノベーションと課題を探っていきます。
データの準備
1. データ ソース
法学修士の基礎となるのは、トレーニングに使用されるデータです。 、最新のモデルは、Web クローラー、コード リポジトリ、書籍などから驚異的な量のテキスト (多くの場合 1 兆を超えるトークン) を取り込みます。一般的なデータ ソースには次のものが含まれます。
一般的にクロールされる Web コーパス
GitHub や Software Heritage などのコード リポジトリ
Wikipedia および書籍 (パブリック ドメインおよび著作権で保護された) などの厳選されたデータセット
合成的に生成されたデータ
2. データ フィルタリング
利用可能なデータをすべて取得するだけでは、ノイズやバイアスが発生する可能性があるため、通常は最適ではありません。したがって、慎重なデータ フィルタリング手法が採用されています。
品質フィルタリング
長さや言語などのドキュメントのプロパティに基づくヒューリスティック フィルタリング
良いデータと悪いデータの例を使用して実行されます。ベースのフィルタリング
言語モデルの複雑さのしきい値
ドメイン固有のフィルタリング
ドメイン固有のサブセットへの影響を確認する
カスタム ルールとしきい値を開発する
選択戦略
決定論的ハードしきい値
確率的ランダムサンプリング
3. 大規模な Web コーパスには重要な情報が含まれています。重複しており、冗長なドキュメントにより、モデルが事実上あまりにも多くの領域を「記憶」する可能性があります。 MinHash などの効率的な準重複検出アルゴリズムを利用して、この冗長性のバイアスを軽減します。
4. トークン化
高品質で重複を排除したテキスト コーパスを取得したら、それをトークン化する必要があります。これをタグ シーケンスをトレーニングするためのニューラル ネットワークに変換します。中に摂取することができます。ユビキタスなバイトレベルの BPE エンコーディングが推奨され、コード、数学的表記法、その他のコンテキストをエレガントに処理します。トークナイザー自体の過剰適合を避けるために、データセット全体を注意深くサンプリングする必要があります。
5. データ品質の評価
データ品質の評価は、特にこのような大規模な場合、困難ですが重要なタスクです。使用される手法には次のものが含まれます。
サブセット トレーニング中の Commonsense QA、HellaSwag、OpenBook QA などの高信号ベンチマークのモニタリング ドメイン/URL の手動検査および保持/削除されたサンプルの検査データ クラスタリングおよび視覚化ツールタグを分析するための補助タガーのトレーニングトレーニング
1. モデルの並列性
最新の LLM の規模が非常に大きい (多くの場合、単一の GPU や単一のマシンに適合するには大きすぎる) ため、さまざまな方法でモデルを複数のデバイスやマシンに分割するための高度な並列化スキームが必要です。 データ並列処理: 複数のデバイスにバッチを分散します。複数のデバイス
テンソル並列処理: モデルの重みとアクティベーションをデバイス間で分割する
パイプライン並列処理: モデルを一連のステージとして扱い、デバイス間でパイプライン化する
シーケンス並列処理: 個々のデバイスを分割する入力シーケンスをさらに拡張する
これらの 4D 並列戦略を組み合わせると、数兆のパラメーターを持つモデルに拡張できます。
2. 効率的な注意力主な計算上のボトルネックは、Transformer アーキテクチャの中核にある自己注意動作にあります。フラッシュ アテンションや因数分解カーネルなどのメソッドは、完全なアテンション マトリックスを不必要に実装することを避ける、高度に最適化されたアテンションの実装を提供します。
3. 安定したトレーニングこのような極端な規模で安定した収束を達成することは大きな課題です。この分野のイノベーションには次のものが含まれます。 4. アーキテクチャの革新
モデル アーキテクチャにおける最近の画期的な進歩により、LL.M. の機能が大幅に向上しました。 専門家混合 (MoE): 例 A ごとにのみ有効ルーティング ネットワークによって有効になるモデル パラメーターのサブセット Mamba: ハッシュベースのエキスパート ミキシング レイヤーの効率的な実装アライメント
コンピテンシーは非常に重要ですが、安全で本物であり、人間の価値観と指針に沿った LLM も必要です。これが、人工知能調整のこの新興分野の目標です。
人間のフィードバックからの強化学習 (RLHF): モデルの出力に対して人間の好みから得られた報酬信号を使用して、PPO、DPO などを微調整します。方法は積極的に研究されています。
コンスティテューショナル AI: コンスティテューショナル AI は、トレーニング プロセス中にルールと指示をモデルにエンコードし、望ましい動作を根本から教え込みます。
推論
LLM がトレーニングされたら、効率的な推論のために LLM を最適化する必要があります。つまり、最小限の遅延でモデル出力をユーザーに提供します。
量子化: 大きなモデルの重みを int8 などの低精度形式に圧縮して、計算量とメモリ使用量を削減します。一般的に使用されるテクノロジには、GPTQ、GGML、NF4 が含まれます。
投機的デコード: 小規模モデルを使用してより大きなモデル (Medusa メソッドなど) を起動することで推論を高速化します。
システム最適化: ジャストインタイム コンパイル、カーネル フュージョン、CUDA グラフィックスの最適化さらに速度を上げることができます。
結論
2024 年に大規模な言語モデルを構築するには、データの調達とクレンジングからスケーラブルなトレーニング システムと効率的な推論の展開に至るまで、スタック全体にわたる慎重なアーキテクチャとイノベーションが必要です。ここではいくつかのハイライトのみを取り上げましたが、この分野は信じられないほどのペースで進化しており、新しいテクノロジーや発見が常に出現しています。データ品質評価、大規模で安定したコンバージェンス、人間の価値観との一貫性、および堅牢な現実世界への展開をめぐる課題は、未解決の領域のままです。しかし、LL.M の可能性は非常に大きく、2024 年以降も言語 AI の可能性の限界を押し広げていくことに注目してください。
以上が2024 年の大規模言語モデル構築への道のりの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











gitを介してローカルにプロジェクトをダウンロードするには、次の手順に従ってください。gitをインストールします。プロジェクトディレクトリに移動します。次のコマンドを使用してリモートリポジトリのクローニング:git clone https://github.com/username/repository-name.git

GITコードを更新する手順:コードをチェックしてください:gitクローンhttps://github.com/username/repo.git最新の変更を取得:gitフェッチマージの変更:gitマージオリジン/マスタープッシュ変更(オプション):gitプッシュオリジンマスター

解決:gitのダウンロード速度が遅い場合、次の手順を実行できます。ネットワーク接続を確認し、接続方法を切り替えてみてください。 GIT構成の最適化:ポストバッファーサイズ(Git Config -Global HTTP.Postbuffer 524288000)を増やし、低速制限(GIT Config -Global HTTP.LowsPeedLimit 1000)を減らします。 Gitプロキシ(Git-ProxyやGit-LFS-Proxyなど)を使用します。別のGitクライアント(SourcetreeやGithubデスクトップなど)を使用してみてください。防火を確認してください

GITコミットは、プロジェクトの現在の状態のスナップショットを保存するために、ファイルの変更をGITリポジトリに記録するコマンドです。使用方法は次のとおりです。一時的なストレージエリアに変更を追加する簡潔で有益な提出メッセージを書き込み、送信メッセージを保存して終了して送信を完了します。

gitコードマージプロセス:競合を避けるために最新の変更を引き出します。マージするブランチに切り替えます。マージを開始し、ブランチをマージするように指定します。競合のマージ(ある場合)を解決します。ステージングとコミットマージ、コミットメッセージを提供します。

gitリポジトリを削除するには、次の手順に従ってください。削除するリポジトリを確認します。リポジトリのローカル削除:RM -RFコマンドを使用して、フォルダーを削除します。倉庫をリモートで削除する:倉庫の設定に移動し、「倉庫の削除」オプションを見つけて、操作を確認します。

eコマースのウェブサイトを開発するとき、私は困難な問題に遭遇しました:大量の製品データで効率的な検索機能を達成する方法は?従来のデータベース検索は非効率的であり、ユーザーエクスペリエンスが低いです。いくつかの調査の後、私は検索エンジンタイプセンスを発見し、公式のPHPクライアントタイプセンス/タイプセンス-PHPを通じてこの問題を解決し、検索パフォーマンスを大幅に改善しました。

ローカルGitコードを更新する方法は? Git Fetchを使用して、リモートリポジトリから最新の変更を引き出します。 Git Merge Origin/<リモートブランチ名>を使用して、地元のブランチへのリモート変更をマージします。合併から生じる競合を解決します。 Git Commit -M "Merge Branch< Remote Branch Name>"を使用してください。マージの変更を送信し、更新を適用します。