BigDL-LLMを使用して、数百億のパラメータを持つLLM推論を即座に加速します。

BigDL-LLMを使用して、数百億のパラメータを持つLLM推論を即座に加速します。

私たちは、顧客サービス、仮想アシスタント、コンテンツ作成、プログラミング支援などのさまざまなアプリケーションでますます重要な役割を果たしている大規模言語モデル (LLM) によって駆動される AI の新しい時代を迎えています。

しかし、LLM の規模が拡大し続けるにつれて、大規模モデルの実行に必要なリソースも増加し、モデルの実行速度がますます低下し、AI アプリケーション開発者にとって大きな課題となっています。

この目的のために、インテルは最近、 BigDL-LLM [1]と呼ばれる大規模モデルのオープンソースライブラリをリリースしました。これは、AI開発者や研究者がインテル®プラットフォーム上での大規模言語モデルの最適化を加速し、インテル®プラットフォーム上での大規模言語モデルのユーザーエクスペリエンスを向上させるのに役立ちます。

以下は、 Intel® Xeon® Platinum 8468プロセッサーを搭載したサーバー上で実行され、BigDL-LLMによって高速化された330億パラメータの大規模言語モデルVicuna-33b-v1.3 [2]のリアルタイムパフォーマンスを示しています。

Intel® Xeon® Platinum 8468プロセッサー搭載サーバー上で330億パラメータの大規模言語モデルを実行した実速度(リアルタイム画面録画)

BigDL-LLM: Intel®プラットフォーム上のオープンソースの Big Language Model アクセラレーション ライブラリ

BigDL-LLM は、大規模言語モデル向けに最適化された高速化ライブラリです。これはオープン ソース BigDL の一部であり、Apache 2.0 ライセンスの下でリリースされています。

さまざまな低精度最適化 (INT4/INT5/INT8 など) を提供し、さまざまなIntel® CPU 統合ハードウェア アクセラレーション テクノロジー (AVX/VNNI/AMX など) と最新のソフトウェア最適化を活用して、大規模な言語モデルでIntel®プラットフォーム上でより効率的な最適化と高速な操作を実現できます。

BigDL-LLM の重要な機能の 1 つは、Hugging Face Transformers API に基づくモデルの場合、モデルを高速化するためにコードを 1 行変更するだけでよいことです。理論的には、あらゆるTransformers モデルの実行をサポートできるため、Transformers API に精通している開発者にとっては非常に便利です。

Transformers API に加えて、大規模な言語モデル アプリケーションを開発するために LangChain を使用する人も多くいます。

このため、BigDL-LLMは使いやすいLangChain統合[3]も提供しており、開発者はBigDL-LLMを使用してTransformers APIまたはLangChain APIに基づいて新しいアプリケーションを開発したり、既存のアプリケーションを移行したりすることができます。

さらに、一般的な PyTorch 大規模言語モデル (Transformer や LangChain API を使用しないモデル) の場合、BigDL-LLM optimize_model API を使用して、ワンクリック アクセラレーションでパフォーマンスを向上させることもできます。詳細についてはGitHub README [4]および公式ドキュメント[5]を参照してください。

BigDL-LLMは、一般的に使用されているオープンソースLLMの高速化された例(Transformers API [6]を使用した例やLangChain API [7]を使用した例など)やチュートリアル(jupyterノートブックのサポートを含む) [8]も多数提供しており、開発者がすぐに使い始めることができます。

インストールと使用: 簡単なインストールプロセスと使いやすいAPIインターフェース

BigDL-LLM のインストールは非常に簡単です。以下に示すようにコマンドラインを実行するだけです。

 pip install --pre --upgrade bigdl-llm[all]

コードが完全に表示されない場合は、左または右にスライドしてください

BigDL-LLM を使用して大規模なモデルを高速化することも非常に簡単です (ここでは例として Transformers スタイルの API のみを使用します)。

BigDL-LLM Transformer スタイルの API を使用してモデルを高速化するには、モデルの読み込み部分を変更するだけでよく、その後の使用プロセスはネイティブ Transformer とまったく同じです。

BigDL-LLM API を使用してモデルをロードする方法は、Transformers API とほぼ同じです。ユーザーは、インポートを変更し、from_pretrained パラメータでload_in_4bit=Trueを設定するだけです。

BigDL-LLM は、モデルのロード中にモデルに対して 4 ビットの低精度量子化を実行し、さまざまなソフトウェアおよびハードウェア アクセラレーション テクノロジを使用して、後続の推論中に実行を最適化します。

 #Load Hugging Face Transformers model with INT4 optimizations from bigdl.llm. transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained('/path/to/model/', load_in_4bit=True)

コードが完全に表示されない場合は、左または右にスライドしてください

例: 大規模な言語モデルに基づく音声アシスタントアプリケーションを迅速に実装する

以下の記事では、一般的な LLM アプリケーション シナリオ「音声アシスタント」を例に、BigDL-LLM を使用して LLM アプリケーションを迅速に実装するケースを説明します。通常、音声アシスタント アプリケーションのワークフローは次の 2 つの部分に分かれています。

△ 図1. 音声アシスタントワークフローの概略図
  1. 音声認識 - 音声認識モデル(この例ではWhisperモデル[9]を使用)を使用して、ユーザーの音声をテキストに変換します。
  2. テキスト生成:ステップ1のテキスト出力をプロンプトとして使用し、大規模言語モデル(この例ではLlama2 [10]を使用)を使用して応答を生成します。

以下はBigDL-LLMとLangChain [11]を使用して音声アシスタントアプリケーションを構築するプロセスです。

音声認識段階: 最初のステップは、プリプロセッサ プロセッサと音声認識モデル recog_model をロードすることです。この例で使用されている認識モデル Whisper は、Transformers モデルです。

BigDL-LLM でAutoModelForSpeechSeq2Seqを使用し、パラメータload_in_4bit=Trueを設定するだけで、このモデルを INT4 精度でロードして高速化できるため、モデル推論時間が大幅に短縮されます。

 #processor = WhisperProcessor .from_pretrained(recog_model_path) recog_model = AutoModelForSpeechSeq2Seq .from_pretrained(recog_model_path, load_in_4bit=True)

コードが完全に表示されない場合は、左または右にスライドしてください

2 番目のステップは音声認識を実行することです。まず、プロセッサを使用して入力音声から入力特徴を抽出し、次に認識モデルを使用してトークンを予測し、再びプロセッサを使用してトークンを自然言語テキストにデコードします。

 input_features = processor(frame_data, sampling_rate=audio.sample_rate, return_tensor=“pt”).input_features predicted_ids = recogn_model.generate(input_features, forced_decoder_ids=forced_decoder_ids) text = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]

コードが完全に表示されない場合は、左または右にスライドしてください

テキスト生成段階では、まず BigDL-LLM のTransformersLLM APIを使用して LangChain 言語モデルを作成します (TransformersLLM は BigDL-LLM で定義された言語チェーン LLM 統合です)。

この API を使用して、任意の Hugging Face Transformers モデルを読み込むことができます。

 llm = TransformersLLM . from_model_id( model_id=llm_model_path, model_kwargs={"temperature": 0, "max_length": args.max_length, "trust_remote_code": True}, )

コードが完全に表示されない場合は、左または右にスライドしてください

次に、通常の会話チェーンを作成します  LLMChain を作成し、作成した llm を入力パラメータとして設定します。

 # The following code is complete the same as the use-case voiceassistant_chain = LLMChain( llm=llm, prompt=prompt, verbose=True, memory=ConversationBufferWindowMemory(k=2), )

コードが完全に表示されない場合は、左または右にスライドしてください

このチェーンはすべての会話履歴を記録し、大規模言語モデルが応答を生成するためのプロンプトとして適切にフォーマットします。このとき、認識モデルによって生成されたテキストを「human_input」として入力するだけです。コードは次のとおりです。

 response_text = voiceassistant_chain .predict(human_input=text, stop=”\n\n”)

コードが完全に表示されない場合は、左または右にスライドしてください

最後に、音声認識とテキスト生成のステップをループに入れることで、この「音声アシスタント」とマルチターンのダイアログで会話できるようになります。下部のリンク[12]にアクセスすると、完全なサンプルコードを表示し、自分のコンピュータで試すことができます。 BigDL-LLM を使用して、独自の音声アシスタントを素早く構築しましょう。

著者について

Intel のシニア AI アーキテクトである Huang Shengsheng 氏、Intel の AI フレームワーク エンジニアである Huang Kai 氏、Intel フェローでありビッグデータ テクノロジーのグローバル CTO、BigDL プロジェクトの創設者でもある Dai Jinquan 氏は、いずれもビッグデータと AI 関連の業務に携わっています。

<<:  Apple チップは、計算精度を低下させることなく大規模なモデルを実行できます。投機的サンプリングは急速に普及しており、GPT-4 もこれを使用しています。

>>:  ヘルスケアにおける人工知能の機会とリスク

ブログ    
ブログ    
ブログ    

推薦する

...

...

この新しい自己蒸留フレームワーク、新しいSOTAは、トレーニングコストを削減し、ネットワークの変更を必要としません。

ディープラーニングは人工知能(AI)分野の継続的な発展を促進し、多くの技術的進歩を達成しました。同時...

人工知能の現状と今後の動向

[[375724]]開発状況近年、デジタル経済の継続的な進歩を背景に、人工知能は急速に発展し、さまざ...

Google Gemini から OpenAI Q* まで: 生成 AI 研究の包括的なレビュー

最近、オーストラレーシア工科大学、マッセー大学、ロイヤルメルボルン工科大学などの研究機関の研究者が、...

ディープラーニングと自動テキスト要約が出会うとき

[[198984]]導入近年のテキスト情報の爆発的な増加により、人々はニュース、ブログ、チャット、レ...

...

...

ソートアルゴリズムを簡単に学ぶ: よく使われるソートアルゴリズムを視覚的に体験

1. クイックソート導入:クイックソートは、Tony Hall によって開発されたソートアルゴリズム...

びっくり! 7万時間の訓練を経て、OpenAIのモデルは「Minecraft」で木材の設計を学習した。

最近、GPTを忘れてしまったかのようなOpenAIが新たなアイデアを思いつきました。大量のラベルなし...

OpenAIの人事異動で最大の勝者はオープンソースコミュニティになると予想される

米国現地時間11月20日朝、マイクロソフトは突然、OpenAIの元CEOアルトマン氏とOpenAI社...

人工知能は「新たな生産要素」である

[[186158]]何人かの経済学者に話を聞いてみれば、彼らはほぼ間違いなく、生産性の伸びの弱さが現...

AI4Science はまだ誤った提案なのでしょうか? 2年後、ワークショップ主催者はAI4Scienceを再検討する

2021年、情熱的な若者のグループが、AI4Science(AI for Science)を機械学習...

グーグルが倫理学者を解雇してから3か月後、AI倫理研究会議はグーグルのスポンサーシップを停止した。

[[386762]]ビッグデータダイジェスト制作出典: ベンチャービート編集:赤道のパンダACM ...

人工知能を背景にした教育の未来を探る

教育の分野では、人工知能の倫理に関する人々の考え方には複数の道が存在します。例えば、主観に基づく検討...