実践大規模な機械学習トレーニング クラスターや AI PC の話ばかりなので、自宅でテキストとコードを生成する大規模言語モデル (LLM) を操作するには、何らかの特別なハードウェアが必要だと考えるのも無理はありません。
実際には、この記事を読んでいるデスクトップ システムは、Mistral のようなチャット ボットや Codellama のようなソース コード ジェネレーターを含む、さまざまな LLM を実行できる能力を十分に備えている可能性があります。
実際、Ollama、LM Suite、Llama.cpp などの公開されているツールを使用すると、これらのモデルをシステムで実行するのは比較的簡単です。
シンプルさとクロスプラットフォームの互換性を重視するため、Ollama について見ていきます。Ollama は、一度インストールすると、Windows、Linux、Mac でほぼ同じように動作します。
パフォーマンス、互換性、AMD GPU サポートについて:
一般的に、MistralやLlama 2のような大規模な言語モデルは、専用のアクセラレータを使用すると最も効率的に動作します。データセンター事業者が10,000台以上のクラスターにGPUを導入するのには理由があります。しかし、実際にはそのようなリソースのごく一部しか必要としません。
Ollamaは、NvidiaとAppleのMシリーズGPUをネイティブサポートしています。メモリ4GB以上のNvidia GPUであれば動作するはずです。テストでは12GBのRTX 3060を使用しましたが、MシリーズMacの場合は16GB以上のメモリを推奨します。
Linuxユーザーは、まずNvidiaの最新のプロプライエタリドライバとCUDAバイナリをインストールする必要があります。設定方法については、こちらをご覧ください。
Radeon 7000 シリーズ以降の GPU を使用している場合は、システムで LLM を実行するための完全なガイドが AMD から提供されています。こちらから入手できます。
良いニュースとしては、対応グラフィックカードをお持ちでなくても、OllamaはAVX2対応CPUでも動作します。ただし、対応GPU搭載時に比べると動作速度は大幅に低下します。メモリは16GBが推奨ですが、量子化モデルを選択すればそれよりも少ないメモリでも動作する可能性があります。これについては後ほど詳しく説明します。
2024年6月6日更新:この記事の公開以降、Ollamaは一部のAMD Radeon 6000および7000シリーズカードのネイティブサポートを開始しました。対応AMDカードのリストはこちらをご覧ください。
Ollamaのインストール
Ollamaのインストールは、ベースとなるオペレーティングシステムに関係なく、非常に簡単です。オープンソースなので、こちらから確認できます。
Windows または Mac OS を使用している場合は、ollama.com にアクセスし、他のアプリケーションと同様にダウンロードしてインストールしてください。
Linux を使用している場合は、さらに簡単です。この 1 行を実行するだけです (必要な場合は、ここで手動インストール手順を参照できます)。これで、すぐに開始できます。
curl -fsSL https://ollama.com/install.sh | sh
最初のモデルのインストール
オペレーティングシステムに関わらず、Ollamaの使い方はほぼ同じです。Ollamaは、70億パラメータのトランスフォーマーベースのニューラルネットワークであるLlama 2 7Bから始めることを推奨していますが、このガイドでは、非常に高性能で、ここ数週間議論の的となっているMistral 7Bを取り上げます。
まず、PowerShell またはターミナル エミュレーターを開き、次のコマンドを実行してモデルをダウンロードし、対話型チャット モードで起動します。
オラマ・ラン・ミストラル
ダウンロードすると、ChatGPT、Copilot、Google Gemini と同様に、チャット プロンプトが表示され、モデルとの対話を開始できます。
Mistral 7BのようなLLMは、この2年前のM1 Max MacBook Proで驚くほどスムーズに動作します - クリックして拡大
何も表示されない場合は、まず Windows のスタート メニューまたは Mac のアプリケーション フォルダーから Ollama を起動する必要があります。
モデル、タグ、量子化
Mistal 7Bは、Ollamaで利用可能な複数のLLM(モデルの他のバージョンを含む)のうちの1つにすぎません。完全なリストとそれぞれの実行手順はここで確認できますが、一般的な構文は次のようになります。
ollama run モデル名:モデルタグ
モデルタグは、ダウンロードするモデルのバージョンを指定するために使用されます。省略した場合、Ollamaは最新バージョンをダウンロードしたいと想定します。私たちの経験では、これはモデルの4ビット量子化バージョンになる傾向があります。
たとえば、Meta の Llama2 7B を FP16 で実行したい場合は、次のようになります。
オラマ 実行 llama2:7b-chat-fp16
ただし、試す前に、システムに十分なメモリがあるか再度確認することをお勧めします。Mistralを使った以前の例では4ビット量子化を使用していました。つまり、モデルは10億個のパラメータごとに0.5ギガバイトのメモリを必要とします。そして、忘れてはいけないのが、このモデルには70億個のパラメータがあるということです。
量子化とは、モデルの重みと活性化関数を低い精度に変換することでモデルを圧縮する手法です。これにより、Mistral 7Bは4GBのGPUまたはシステムRAMで動作し、通常は出力品質の劣化を最小限に抑えることができますが、状況によって結果は異なります。
上記で使用したLlama 2 7Bの例では、半精度(FP16)で実行されています。そのため、実際には10億パラメータあたり2GBのメモリが必要となり、今回のケースでは14GB強となります。16GB以上のvRAMを搭載した新しいGPUをお持ちでない限り、この精度でモデルを実行するにはリソースが不足する可能性があります。
オラマの管理
Ollama を使用してインストールされたモデルを管理、更新、削除することは、以前に Docker CLI などを使用したことがある人にとっては、違和感なく行えるはずです。
このセクションでは、実行する必要がある一般的なタスクをいくつか説明します。
インストールされているモデルのリストを取得するには、次のコマンドを実行します。
オラマリスト
モデルを削除するには、次のコマンドを実行します。
ollama rm モデル名:モデルタグ
既存のモデルをプルまたは更新するには、次のコマンドを実行します。
ollama pull モデル名:モデルタグ
追加の Ollama コマンドは、次のコマンドを実行すると見つかります。
ollama --help
先ほど述べたように、OllamaはローカルLLMの実行とテストのための数あるフレームワークの一つに過ぎません。もしOllamaで問題が発生した場合は、他のフレームワークを試した方が良いかもしれません。ちなみに、これはAIが書いたものではありません。
The Registerは、近い将来、法学修士(LLM)の活用に関する最新情報をお届けする予定です。AIとPCに関するご質問は、ぜひコメント欄で共有してください。サプライチェーンのセキュリティについてもお忘れなく。®