大規模な言語モデルをローカルで実行する 5 つの簡単な方法

大規模な言語モデルをローカルで実行する 5 つの簡単な方法

翻訳者 |陳俊

レビュー | Chonglou

今日では、ChatGPT や phind などの AI ベースのチャットボットが、私たちの生活のあらゆる面でさまざまな支援を提供できます。ただし、質問や機密データを外部アプリケーションで処理することを常に望んでいるわけではありません。特に一部のプラットフォームでは、AI とのやり取りがバックグラウンドで手動で監視され、将来のモデルのトレーニングに使用される可能性もあります。

自然な傾向としては、Large Language Model (LLM) をダウンロードして自分のマシンで実行することが考えられます。こうすることで、外部の企業があなたのデータにアクセスできなくなります。同時に、これはいくつかの新しいプロフェッショナル モデルを試してみるための迅速な試行錯誤の方法でもあります。たとえば、Meta は最近、プログラミング分野向けの Code Llama シリーズのモデルと、テキスト読み上げおよび言語翻訳用の SeamlessM4T をリリースしました。

「LLM をローカルで実行する」というのは複雑に聞こえるかもしれませんが、適切なツールがあれば驚くほど簡単です。多くのモデルはハードウェアに対する要求がそれほど高くないため、2 つのシステムでテストしました。これらは、 Intel i9プロセッサ、 64GBの RAM、 Nvidia GeForce 12GB GPUを搭載したDell PCと、 M1チップを搭載しているRAM が16GBしかないMac です

デスクトップ ハードウェアで実行できる適切なパフォーマンスのモデルを見つけるには、オープン ソース モデルの継続的な反復を調査して追跡するのにある程度の時間が必要になる場合があることに注意してください。

1. GPT4Allを使用してローカルチャットボットを実行する

GPT4All は、Windows、macOS、Ubuntu 用のデスクトップ クライアントのダウンロードと、システム上でさまざまなモデルを実行するオプションを提供します。全体的に、セットアップは複雑ではありません。

GPT4Allデスクトップ アプリを初めて開くとMeta AIモデルLlama-2-7B チャットなど、ダウンロードしてローカルで実行できるモデル オプションが10 個(この記事の執筆時点では)表示されます APIキーをお持ちの場合は、 OpenAIGPT-3.5およびGPT-4 (アクセスできる場合) を非ローカルで使用するように設定することもできます。

上の図は、 GPT4Allのモデルダウンロードインターフェースを示しています。アプリを開くと、事前にダウンロードしておいたモデルが自動的に表示されました。

モデルを設定すると、シンプルで使いやすいチャットボット インターフェースが表示されます。チャットの内容をクリップボードにコピーして返信を生成できるので便利です。

同時に、ローカル ドキュメントと「チャット」できるLocalDocsプラグインの新しいベータ バージョンも提供されます。 「設定」 > 「プラグイン」タブで有効にできます。ここでは、 LocalDocs プラグイン (ベータ版) 設定」の見出しと、特定のフォルダー パスの下にコレクションを作成するオプション。もちろん、プラグインはまだ開発中ですが、ドキュメントには、オープンソース モデルの機能が向上し続けるにつれて、これがさらに改善される興味深い機能であると記載されています。

チャットボット アプリケーションに加えて、GPT4All には Python、Node、およびコマンド ライン インターフェイス (CLI) のバインディングも付属しています。同時に、GPT4All には、OpenAI に似た構造を持つ HTTP API を介してローカル LLM と対話できるサーバー モードもあります。ご覧のとおり、目標は、コードを数行変更するだけで、ローカル LLM をOpenAILLMに置き換えることができるようにすることです

2. コマンドラインモードでの LLM

Simon Willison提供しているLLMは、オープンソースのLLM をローカル マシンにダウンロードして使用するための、私が知る限り最も簡単な方法の 1 つです。実行するにはPythonをインストールする必要がありますが、 Pythonコードに触れる必要はありません Macを使用していてHomebrewがインストールされている場合は、次のコマンドを実行します。

 brew install llm

Windowsを使用している場合は Pythonライブラリをインストールして次のように入力します。

 pip install llm

LLM はデフォルトでOpenAIモデルを使用しますが、プラグインを使用して他のモデルをローカルで実行することもできます。たとえば、 GPT4Allプラグインをインストールすると、 GPT4All内の他のローカル モデルにアクセスできますさらに、 llama にMLCプロジェクト、 MPT-30B 、その他のリモート モデル用のプラグインがあります

コマンドラインからプラグインをインストールするには、 llm install model-nameの形式を使用します例えば:

 llm install llm-gpt4all

次に、コマンドllm models listを使用して、使用可能なすべてのリモート モデルまたはインストール済みモデルを表示できます。以下のリストに示すように、各モデルに関する簡単な情報も含まれています。

次の構文を使用して、ローカルLLMクエリ要求を送信できます。

 llm -m the-model-name "Your query"

次に、 ChatGPTの場合と同様の質問をしましたが、モデルをダウンロードするための別のコマンドを発行しませんでした。

 llm -m ggml-model-gpt4all-falcon-q4_0 "Tell me a joke about computer programming"

GPT4Allモデルがローカル システムに存在しない場合は、クエリを実行する前にLLMツールによって自動的にダウンロードされることに注意してくださいまた、モデルのダウンロード中は、ターミナルに次のような進行状況バーが表示されます。

モデルのジョークは、「なぜプログラマーはコンピュータの電源を切ったのか?コンピュータがまだ動いているかどうかを確認したかったからだ!」というものでした。これは、インタラクションが成功したことを証明しています。結果が満足のいくものではないと感じた場合は、 LLMツールではなく、モデル自体または情報が不足しているユーザー プロンプトが原因です。

LLMでモデルのエイリアスを設定して、より短い名前で参照することもできます。

 llm aliases set falconggml-model-gpt4all-falcon-q4_0

完了したら、 「 llm aliases 」と入力して、使用可能なすべてのエイリアスを表示できます。

対照的に、Meta Llama モデルの LLM プラグインでは、GPT4All よりも多くのセットアップが必要です。詳細については、LLM プラグインの GitHub リポジトリ (https://github.com/simonw/llm-llama-cpp) をご覧ください。汎用の llama-2-7b-chat は私の Mac 上で動作しますが、GPT4All モデルよりも動作が遅いことに注意してください。

もちろん、LLM には、以前のチャットから続行して Python スクリプトで使用できるパラメーター フラグなどの他の機能もあります。 9 月初旬、このアプリには、関連文書の検索に使用できるテキストの意味のデジタル表現である生成テキスト埋め込みツールが追加されました。詳細については、LLM の Web サイトをご覧ください

3. Mac上のラマモデル: Ollama

Ollama はLLMよりもモデルをダウンロードして実行する簡単な方法ですが、制限もより多くあります。現在、 macOSLinuxがあり Windows版も近日中にリリースされる予定です。

上の写真のように、数回クリックするだけでインストールを完了できます。 Ollamaはコマンドライン ツールです、構文コマンドはollama run model-name の1 つだけです LLMと同様に、必要なモデルがシステムにまだ存在しない場合は、自動的にダウンロードされます。

利用可能なモデルのリストはhttps://ollama.ai/libraryで確認できます本稿執筆時点では、General Llama 2 Code Llama 特定のプログラミングタスク向けにDeepSEによって微調整されたCodeUp医療に関する質問への回答などに微調整されたmedllama2など Llamaベースのモデルの複数のバージョンが含まれています。

GitHub リポジトリのOllam a の README には、さまざまなモデルと仕様がリストされており、「3B モデルを実行するには、少なくとも 8GB のメモリが必要です。7Bモデルを実行するには、少なくとも16GBのメモリが必要です。13B モデルを実行するには少なくとも32GBのメモリが必要です」と示されています。 16GBの RAMを搭載した私のMacでは 7B Code Llama は非常に高速に動作します。プロフェッショナル側では、 bash/zsh シェルコマンドだけでなく、 PythonJavaScriptなどのプログラミング言語に関する質問にも答えることができます。

上の画像は、 Ollamaターミナル ウィンドウCode Llamaを実行したときの外観を示しています。たとえば、 Rコードの質問の場合: 「棒がスチールブルーに着色されたggplot2棒グラフのRコードを記述してください 。大型モデルの多くは質問に完全に答えることができませんが、 Code Llamaはシリーズの中で最も小さいモデルであるにもかかわらず、質問に非常によく答えます。配信されたコードは基本的に正しいものでしたが、2 行のコードに 2 つの余分な括弧がありましたが、これは統合開発環境 (IDE) で簡単に発見できました。

Ollama には、LangChain との統合 (https://www.infoworld.com/article/3705097/a-brief-guide-to-langchain-for-software-developers.html) や PrivateGPT で実行する機能など、いくつかの追加機能があります。もちろん、GitHub リポジトリのチュートリアル ページを確認しなければ、これらの機能は明らかではないかもしれません。

4. 自分のファイルでチャット: h2oGPT

長年にわたり自動機械学習の分野に深く関わってきたH2O.aiが、チャットLLMトラックに参入しました。 h2oGPT チャット デスクトップ アプリケーションのベータ版は、初心者でも簡単にインストールして使用できます。

インターフェースに慣れるには、https://gpt.h2o.ai/ Web サイトのデモ バージョンにアクセスしてください (ローカル システムの LLM ではないことに注意してください)。ローカル バージョンを取得するには、GitHub リポジトリをクローンし、Python 仮想環境を作成してアクティブ化し、README ファイル内の 5 行のコードを実行する必要があります。ドキュメントによると、結果には「限定されたドキュメント Q/A 機能」と Meta の Llama モデルが提供されます。

次のコードを実行すると、 http://localhost:7860Llamaモデル バージョンとアプリケーションをダウンロードできます

 python generate.py --base_model='llama' --prompt_type=llama2

独自のファイルを追加しなくても、アプリを通常のチャットボットとして使用できます。もちろん、いくつかのファイルをアップロードし、ファイルの内容に基づいて質問することもできます。互換性のあるファイル形式には、 PDF Excel CSV Word 、テキスト、マークダウンなどがあります。上の図は、 VS Codeドキュメントに基づいて質問に答えるローカルLLaMaモデルのスクリーンショットを示しています。

h2oGPTテスト プログラムは私の16GB Macで問題なく動作しますが、有料のGPT- 4を使用したChatGPTほど良くはありません。さらに、下の図に示すように、 h2oGPTユーザー インターフェイスにはエキスパート タブもあり、プロのユーザーに多くの構成および結果改善オプションを提供します。

アプリをより細かく制御し、より多くのモデルから選択できるようにしたい場合は、アプリのフルバージョンをダウンロードできます。 README には、Windows、macOS、Linux へのインストールに関するさまざまな手順が記載されています。もちろん、ハードウェアの制限も考慮する必要があります既存のGPUでは、かなり大きなモデルを実行するにはパワーが足りないことが判明しました

5.シンプルだが遅いデータチャットのためのPrivateGPT

PrivateGPT を使用すると、自然言語を使用して独自のドキュメントをクエリし、生成 AI からの応答を取得できます。アプリケーションのドキュメントには、数十種類の異なる形式が含まれる場合があります。 README には、「 100%プライベートであり、データが環境外に漏れることはありません。インターネットに接続しなくても、ドキュメントを入力したり質問したりできます。」と保証されています。

PrivateGPT はスクリプトを通じてデータ ファイルを取り込み、それをさまざまなチャンクに分割して「埋め込み」(つまり、テキストの意味の数値表現)を作成し、これらの埋め込みをローカルのChromeベクトルに保存します。質問すると、アプリは関連するドキュメントを検索し、 LLMに送信して回答を生成します。

PythonPythonプロジェクトの構築方法に精通している場合はPrivateGPTライブラリの完全なセットをクローンし、リンクhttps://github.com/imartinez/privateGPTを介してローカルで実行できます。もちろん、 Python をよく知らない場合は、 Iván Martínez がワークショップで構築したプロジェクトの簡易版を参照できます。このバージョンでは、セットアップがはるかにシンプルになっています。 READMEファイルには詳細な手順が記載されています。ライブラリに付属するsource_documentsフォルダーにはPenpot (翻訳者注: クロスドメイン チーム向けのオープン ソースの設計およびプロトタイピング ツール) ドキュメントが多数含まれています、それらを削除して独自のドキュメントを追加できます。

ただし、 PrivateGPTのドキュメントでは、実稼働環境には適していないと警告されています。結局、ローカルで実行すると、比較的遅くなります。

6. 地元のLLMへの道が広がる

実際、 LLM をローカルで実行する方法は 5 つ以上ありますただし、他のデスクトップ アプリケーションでは、多くの場合、最初からスクリプトを作成する必要があり、セットアップの複雑さもさまざまです。

たとえば、 PrivateGPTの派生である LocalGPT には、より多くのモデル オプションが含まれており、詳細な手順と操作ビデオが提供されます。 PrivateGPT と同様に、インストールとセットアップの容易さについては賛否両論ある一方で、ドキュメントでは「 CPUのみの環境では速度が遅くなる」と警告されています。

私が試したもう一つのデスクトップ アプリはLM Studio です。シンプルで使いやすいチャット インターフェースを提供するだけでなく、モデル選択においてユーザーにさらなる自律性を与えます。中でも、Hugging Face HubはLM Studioのモデルの主な提供元であり、ダウンロード可能なモデルが多数あります。

下の図に示すように、 LM Studio は美しくシンプルなインターフェースを提供します。ただし、この記事の執筆時点では、ユーザー インターフェイスには、独自のデータを実行するためのLLMの組み込みオプションはまだ提供されていません。

リファレンスドキュメントに記載されているように、 OpenAI APIの代替として使用できる組み込みサーバーが付属しているため APIを介してOpenAIモデルを呼び出すように記述されたコードは、選択したローカルモデルで実行できます。

LM StudioのコードはGitHubによって提供されていないためh2oGPTと同様に、 Windowsにインストールするときに「これは未検証のアプリケーションです」という警告が表示されます。

h2oGPTなどのアプリケーションを通じて事前に構築されたモデルのダウンロード インターフェイスを使用するだけでなく、 Hugging Faceからさまざまなモデルを直接ダウンロードして実行することもできます。これは多くのLLMを含む AI プラットフォームおよびコミュニティです。さらに、 Hugging Face では、利用可能なモデルをローカルにインストールして実行する方法に関するドキュメントも提供しています。これはhttps://huggingface.co/docs/transformers/installation で参照できます

もう 1 つの一般的な方法は、LangChain で LLM をローカルにダウンロードして使用することです。これは、エンドツーエンドの生成 AI アプリケーションを作成するためのフレームワークです。 LangChainの基礎についてはhttps://www.infoworld.com/article/3705097/a-brief-guide-to-langchain-for-software-developers.htmlで学習できますまた、Hugging API についてはhttps://python.langchain.com/docs/integrations/llms/huggingface_pipelinesで確認できます Face ローカル パイプラインの関連コンテンツ。

さらに、 OpenLLM は、開発者が LLM ベースのアプリケーションを運用環境に導入するのに役立つ、もう 1 つの強力な独立プラットフォームです。

翻訳者紹介

51CTO コミュニティの編集者である Julian Chen 氏は、IT プロジェクトの実装で 10 年以上の経験があります。社内外のリソースとリスクの管理に長けており、ネットワークと情報セキュリティの知識と経験の普及に重点を置いています。

原題:地元で LLM を運営する 5 つの簡単な方法、著者: Sharon Machlis

<<:  Adobeは、より高品質な画像を提供するために、AI生成モデルの新世代であるFirefly Image 2をリリースしました。

>>:  ロボットはついにデータセンターで活躍の場を見つけるのでしょうか?

ブログ    
ブログ    

推薦する

スマートカーシステムへの生体認証技術の統合

近年、自動車業界はインテリジェント車両システムの出現により大きな変化を遂げています。これらのシステム...

半日で2000件のいいねを獲得、李菲菲の弟子が33のニューラルネットワークトレーニングの秘密を公開

[[263815]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

目標駆動型システムモデルは、人工汎用知能 (AGI) を実現するための鍵となるでしょうか?

人工知能の登場以来、研究者たちはロボットに人間とゲームをさせることで機械システムの知能をテストしよう...

スループットが5倍に向上、バックエンドシステムとフロントエンド言語を共同設計するLLMインターフェースが登場

大規模言語モデル (LLM) は、複数の連鎖生成呼び出し、高度なプロンプト技術、制御フロー、および外...

人工知能は視覚効果アーティストの役割に取って代わるでしょうか?

視覚効果 (VFX) の分野における AI の統合は、シームレスでデータ主導のアプローチを導入するこ...

エンジニアの職が危機に:ボストン・ダイナミクスのロボット犬がフォードにエンジニアとして入社!

[[335339]]ボストン・ダイナミクスのロボット犬に新たなアイデンティティが誕生。フォードのエ...

...

新たな調査でAIのROIの急上昇と将来の課題が浮き彫りに

Dataiku と Databricks が発表した新しい共同調査によると、生成型人工知能の急速な導...

Java プログラミング スキル - データ構造とアルゴリズム「シーケンシャル バイナリ ツリー」

基本概念データストレージの観点から見ると、配列ストレージとツリーストレージは相互に変換できます。つま...

オフライン認識率が最大99%のオープンソースPython顔認識システム〜

これまでの顔認識には、主に顔画像の取得、顔認識の前処理、本人確認、本人検索などの技術やシステムが含ま...

商品受け取り時の顔認証システムを小学生が“クラック”!鳳超が緊急オフラインに

[[279460]]最近、「#小学生がアイテム拾いの顔認証のバグを発見#」という話題が注目を集めてい...

Hive でサポートされているファイル形式と圧縮アルゴリズム

[[194194]]概要正しいファイル タイプと圧縮タイプ (Textfile+Gzip、Seque...

AI に適切なデータ戦略を構築するにはどうすればよいでしょうか?

適切なデータ戦略を使用して人工知能 (AI) を実装すると、データがシステムにシームレスに流れ込み、...

パラメータ数は元の1%に過ぎません。Beiyouらは、超解像アルゴリズムを使用した高性能なビデオ伝送方法を提案しました。

[[421986]]過去数年間でインターネットビデオは爆発的な成長を遂げており、ビデオ伝送インフラ...

...