著者について Ctrip の自然言語処理と大規模言語モデル アルゴリズムの専門家である Terry は、自然言語処理プロジェクトと AI 実装において長年の経験を持っています。 1. 背景OpenAIのChatGPTが世界中で人気を博すにつれ、人工知能の分野では大規模言語モデル(LLM)が話題になっています。 Big Language Model は、人間の言語能力をシミュレートし、一貫性のあるテキストを生成できる、ディープラーニングに基づく自然言語処理技術です。この技術の出現は幅広い注目と応用を集めています。大規模言語モデルは、機械翻訳、テキスト生成、インテリジェントな会話などの分野で重要な役割を果たします。これらの分野では、自然言語を理解して生成することができ、機械が人間とより良くコミュニケーションし、協力できるようになります。 2. LLM研修システム2.1 トレーニングインフラストラクチャLLM トレーニング システムには、事前トレーニング、事前トレーニングの継続、および微調整という複数のモードがあります。 1) 事前トレーニング段階で使用されるデータは大規模な一般データであり、トレーニングコストは通常数百万 GPU 時間にも達し、非常に高価です。たとえば、Llama-2-70B の事前トレーニングでは 172 万 GPU 時間が使用され、Falcon-180B の事前トレーニングでは 700 万以上の GPU 時間が使用されました。 2) 事前トレーニング済みの基礎モデルに基づいて事前トレーニング フェーズを継続し、特定のドメインからのラベルなしデータをトレーニングに使用します。これには通常、数千時間の GPU 時間が必要です。分野の知識を習得し、言語と分野の語彙を拡張するために使用できます。 3) 微調整段階はベースモデルに基づいており、タスク固有のデータを使用してトレーニングされます。これにより、モデルを特定の出力パラダイムに合わせて調整し、特定のタスクを完了することができます。通常、10 ~ 1000 GPU 時間かかり、コストは比較的低くなります。代表的なモデルとしてはアルパカなどがあります。 トレーニング フレームワークは、PyTorch + DeepSpeed と Transformers の技術ルートに基づいており、Nvidia、Meta、Microsoft、HuggingFace などの企業によってサポートされ、幅広いコミュニティのサポートを受けています。 PyTorch は 2.0 にアップデートされた後、コンパイル モードを追加し、トレーニング速度を大幅に向上させました。DeepSpeed の ZeRO およびオフロード テクノロジにより、モデルはマルチマシンおよびマルチカード トレーニング中にビデオ メモリをより少なく使用できます。これらのテクノロジにより、数百億から数千億のパラメータを持つモデルのトレーニングが簡素化され、トレーニング中の安定性が維持されます。 Flash Attention、Apex、演算子融合などのテクノロジーを使用してハードウェア使用率を向上させることで、浮動小数点使用率 (MFU) 50% を超える効率で数百億のパラメータを持つモデルをトレーニングできるようになりました。 2.2 トレーニングパラメータトレーニング可能なパラメータの量に応じて、フルパラメータトレーニング、LoRA、QLoRAなどのテクノロジーに分けられます。 大量のデータと十分な予算がある場合は、完全なパラメータ トレーニングが推奨されます。モデルのすべてのパラメータがトレーニングに関係するため、ターゲット パラダイムを正確に調整できます。LoRA と QLoRA はパラメータ効率の高いトレーニング方法であり、リソースが限られている場合や結果を迅速に取得する必要がある場合に推奨されます。 2.3 語彙を増やすLlama のネイティブ語彙では、1 つの漢字が通常 2 つのトークンに対応しているため、中国語コンテンツのトークンの数が多くなり、モデルのトレーニングと推論の効率が低下します。また、Llama の事前トレーニング コーパスにおける中国語の割合は比較的小さく、中国語コーパスに対する最適化は行われていません。 語彙を増やすことは、これらの問題の両方を解決するのに役立ちます。ラマ語の語彙をベースに、中国語の語彙を 10,000 語以上に拡張し、大量の中国語コーパスを使用して事前トレーニングを継続しました。中国語データに対するモデルの困惑度は大幅に減少しました。トレーニングと推論中に、同じ文字数の中国語データのトークンの数が半分に削減され、コストが削減されます。 2.4 フラッシュアテンションGPU SRAM と HBM (高帯域幅メモリ) の IO 速度は 10 倍以上異なります。メモリ アクセスを少なくすると、計算速度が大幅に向上します。 Flash Attention の目的は、HBM からの注意マトリックスの読み取りと書き込みを回避することです。 Flash Attention は、この目標を達成するために 2 つの問題を解決します。 1) 入力全体にアクセスせずにソフトマックス削減を計算します。 Flash Attention は、アテンション計算を再編成し、入力をチャンクに分割し、入力チャンクに対して複数のパスを実行して、段階的にソフトマックス削減を実行します。 2) 中間注意行列は後方伝播中に保存できません。フォワード パスからのソフトマックス正規化係数は、バックワード パスでオンチップ アテンションをすばやく再計算するために保存されます。これは、HBM から中間アテンション マトリックスを読み取る標準的な方法よりも高速です。 3. LLM推論システムLLM の推論システムの鍵となるのは、レイテンシとコストです。遅延はユーザーの体験に関係します。最低基準は、人間の入力速度 (1 秒あたり 1 ~ 3 語) より遅くならないことです。ユーザーに段落全体またはコード プロンプトを表示する場合は、より速い速度が必要です。理想的には、人間がテキストを読む速度 (1 秒あたり約 5 ~ 10 語) よりわずかに速い速度になります。ただし、高速になるほど、通常、ハードウェア要件が高まり、コストも高くなります。 当社の推論展開システムは、低レイテンシ、高スループット、高同時実行性、高可用性という特徴を備えています。 (13Bモデルと1xA100の展開を例に挙げます) 1) 低レイテンシ: 最速生成速度は 20 ミリ秒/トークンです。 2) バッチ生成スループットは 1600 トークン/秒以上に達します。 3) 100 を超える同時リクエストを効果的に処理できます。 4) 高可用性の展開: デュアルロケーションおよびマルチリージョンの展開をわずか 10 分で実現できます。 3.1 KVキャッシュLLM は推論中の自己回帰プロセスであり、最初の n 個のトークンを入力として使用して、n+1 番目のトークンを予測します。注目部分の K 部分と V 部分の最初の n 個のトークンのベクトルは、各予測で変更されません。KV の値は、次のトークンを予測するときに繰り返し計算されないようにキャッシュできます。 3.2 ページングされた注意KV キャッシュを使用した LLM の自己回帰デコード処理中、LLM のすべての入力トークンは注目 K テンソルと V テンソルを生成し、これらのテンソルは次のトークンを生成するために x メモリに保存されます。大量のメモリ浪費につながる特徴が 2 つあり、ビデオ メモリの約 60% ~ 80% が浪費されます。 1) キャッシュ使用量が大きい: Llama-13B では、1 つのシーケンスが最大 1.7GB を占有します。 2) 動的: キャッシュ サイズはシーケンスの長さに依存しますが、シーケンスの長さは大きく変動し、予測できません。 PagedAttention を使用すると、連続した KV テンソルを不連続なメモリ空間に格納できます。 PagedAttention は、各シーケンスの KV キャッシュをブロックに分割します。各ブロックには、固定数のトーク KV が含まれます。アテンション計算中に、PagedAttention カーネルはこれらのブロックを効果的に識別して取得します。さらに、メモリ共有、コピーオンライトなどのメカニズムを使用することで、メモリ使用量が大幅に削減され、スループットが向上します。 HuggingFace のデフォルト方法よりも最大 24 倍優れています。 3.3 連続バッチ処理バッチ予測により、モデルの読み込み回数が減り、メモリ帯域幅の使用率が向上し、コンピューティング リソースの使用率が向上し、最終的にはスループットが向上し、推論コストが削減されます。 従来のバッチ予測は静的バッチ処理であり、推論が完了するまでバッチ サイズは変更されません。しかし、LLM の原理では、最大長に達するかトークン (EOS) が停止されるまで、各リクエストは 1 つずつトークンを生成します。同じバッチ内の各リクエストの生成された長さが同じになることはほとんど不可能です。従来の静的バッチ処理を使用する場合、最長のシーケンスが完了するまで継続的に生成する必要があり、GPU を十分に活用できません。極端な場合、同じバッチで最大長 100 トークンと 8000 トークンのシーケンスが同時に生成される場合、次のバッチを予測する前に 8000 トークンのシーケンスが完了するのを待つ必要があります。このようにすると、各リクエストを個別に推論する場合、つまりバッチ サイズが 1 の場合よりも GPU 使用率が低くなります。 GPU を最大限に活用してスループットを向上させるために、連続バッチ処理を使用できます。モデルがストップ トークンを出力した後、生成される新しいシーケンスが挿入され、バッチ内のすべての空白トークンを完全に利用できるようになります。 3.4 実際の推論速度A100に導入された13Bモデルを例にとると、1番目のトークン生成から128番目のトークン生成まで、同時実行数が1の場合に2.6qps、同時実行数が100の場合に13qpsを達成できます。また、遅延が効果的に制御されます。ユーザーが認識するトークン生成速度は16〜48トークン/秒で、チャット中の人間の入力速度を超えており、カスタマーサービスチャットのシナリオで優れたエクスペリエンスを提供します。高いスループットが必要なシナリオでは、最大スループットが 1700 トークン/秒を超える場合があります。 A100 のコスト見積もりは 20 元/時間で、約 0.003 元/1000 トークンとなり、GPT-3.5 を使用する場合のコストの 5 ~ 10 分の 1 になります。 次の図に示すように、同時実行制限が 100 の場合、ユーザーの認識とスループットの最適なバランスを実現できます。ユーザーは極端に長い待ち時間に耐える必要がなくなり、サーバーはより低コストでサービスを提供できます。 IV. 観光シナリオへの応用4.1 インテリジェント顧客サービスロボットインテリジェントカスタマーサービスロボットは、Ctripのサービスリンクにおいて非常に重要な役割を果たしています。下の図のシナリオのように、60%以上の顧客がインテリジェントカスタマーサービスロボットなどのセルフサービス機能を通じてコンサルティングの問題を解決しています。 従来のインテリジェントな顧客サービス ロボットは、一般的に分類モデルまたはマッチング モデルを使用してユーザーの意図を正確に識別し、顧客の質問に答えたり、問題の解決を支援したりします。しかし、従来の分類モデルやマッチングモデルでは、特にロングテールのユーザー意図の場合、再現率が低い、トレーニングコーパスが不足しているなどの問題に直面することがよくあります。一般的に言えば、モデルが良い結果を達成するには、十分な高品質のトレーニング コーパスが必要ですが、高品質のコーパスを収集するには、多くの場合、多くの人手が必要になります。 大規模言語モデルシステムは上記の問題を解決します。まず、LLM は従来の小さなモデルを置き換えてユーザーの意図を識別するタスクを完了し、精度と再現率の両方を向上させることができます。さらに、当社の LLM 推論システムのサポートにより、LLM の推論速度は従来の小型モデルのレベルに達することができます。オンラインデータによると、意図認識に関しては、LLM は従来のモデルと比較して、応答速度は変わらないものの、精度が 5% 以上向上し、再現率が 20% 以上向上しています。 第二に、LLM の使用にはコストがかかるため、小規模なモデルを引き続き使用するシナリオでは、LLM の生成機能の助けを借りて、大量の高品質コーパスを簡単に構築でき、これらのサンプルは種類が多様で、ゲストの実際の質問に近いものになります。この方法により、モデルの一般化パフォーマンスが向上し、人的投資を節約できます。これまでに実施されたシナリオでは、コーパスの準備にかかる平均人的投資が 20 人日から 5 人日未満に削減されました。 4.2 情報抽出観光サービスのシナリオでは、ゲストやサプライヤーから取得されるのは、多くの場合、大量の非構造化テキスト情報であり、手動での情報抽出とフォームへの入力が必要となり、非常に高い人件費がかかります。 しかし、従来の抽出アルゴリズムを使用する場合、実際の使用では精度と再現率がそれほど高くありません。また、複雑な関係を持つエンティティを抽出する場合、モデルやルールの設計に多くの時間が必要となり、開発コストが依然として高くなってしまいます。 大規模言語モデルシステムは上記の問題を解決します。 LLM を使用すると、複雑な関係を持つエンティティを簡単に識別するためのプロンプトを作成するだけで済むため、開発コストが大幅に削減されます。 以下に示す列車のチケット情報抽出シナリオを例にとると、非構造化テキストには複数の人、複数の時間、異なる出発地、到着地、車両、座席などのエンティティが含まれており、出力も複数行に要約する必要があります。微調整後、LLM は対象情報を構造化された形式でテーブルとして正確に出力できます。列車のチケット情報抽出のシナリオでは、従来のアルゴリズムと比較して、LLM の抽出精度は 80% から 95% 以上に向上し、開発工数は約 5 人日から 1 人日未満に短縮されます。 4.3 会話の要約顧客サービスのシナリオでは、多くの場合、異なる顧客サービススタッフが異なる時間や異なるシナリオで顧客にサービスを提供します。顧客との会話が終了したら、他の顧客サービス担当者が後で顧客にサービスを提供する際に、以前の背景情報をすぐに理解できるように、顧客の会話記録を要約して結論付ける必要があります。そうしないと、過去の会話記録を確認するのに時間がかかります。 手作業による要約に頼ると、多大な人件費がかかります。しかし、従来のアルゴリズムの小さなモデルを使用すると、情報の損失や精度の低下などの問題が簡単に発生する可能性があります。 大規模言語モデルシステムは上記の問題を解決します。 LLM の強力な生成機能により、プロンプトを調整してモデルが会話の内容を要約し、必要な方法で出力することができます。たとえば、ゲストの問題の時間、場所、タスクなどの情報をつなぎ合わせて、スムーズでわかりやすい文章にしたり、ゲストの問題をラベルに要約したりできます。 オンライン データによると、LLM を使用すると、小規模モデルと比較して精度が 5% 以上向上し、顧客サービス スタッフは会話ごとに平均 2 分以上のレビュー時間を節約できます。 V. 将来と展望大規模言語モデルに加えて、他の大規模モデルも急速に発展しており、今後はマルチモーダル大規模モデルが主流になるでしょう。観光分野における大型モデルの将来は非常に広いと予測できます。科学技術の継続的な発展に伴い、大型モデルは観光産業において重要な役割を果たすことになります。例えば:
使用量が増えると、モデルへのフィードバックによって、モデルが人間のフィードバックによる大規模な強化学習 (RLHF) を実行できるようになり、大規模モデルのパフォーマンスがさらに向上し、より優れたパフォーマンスが実現します。 |
<<: 2024年の最大の落とし穴は?ディープラーニングに基づくエンドツーエンドの自動運転の最新レビュー
>>: すべての AI エンジニアが知っておくべき AI ツールとフレームワークのトップ 10
10月10日のニュース、AIに陸上を歩けるロボットを設計するように頼んだら何秒かかるでしょうか?答え...
現在、電子商取引の発展が継続的に加速する中、物流と配送のプレッシャーは高まり続けており、ドローンは業...
コンピューターが登場する前には、アルゴリズムがありました。コンピュータの誕生により、コンピュータの強...
Java 8 では、組み込みのソート アルゴリズムが大幅に最適化されました。整数やその他のプリミティ...
近年、我が国のドローン産業は急速な発展を遂げています。飛行制御、ナビゲーション、通信、センシングなど...
本日、上海で人工知能フレームワークエコシステムサミットが開催されました。サミットでは、MindSpo...
[[420140]] [51CTO.com クイック翻訳]オープンソースデータセットを使用してトレー...
現在、世界中で加速する人工知能の発展は各国から大きな注目を集めています。単純な機械動作でも複雑な知覚...
1. NeMoフレームワークの紹介NVIDIA NeMo は、PyTorch と PyTorch L...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
まとめ: EdgeBoard は Baidu が開発した FPGA ベースの組み込み AI ソリュー...