生成AIアシスタントをパソコンにインストールして使用する方法

個人データを他者と共有することなく、ChatGPT、Copilot、Midjourneyのあらゆるメリットを最大限に活用するためのヒント。

最近多くの人が、勉強や業務などで日々生成AIツールを使用するようになりました。たとえば、アメリカ人の60%近くが、ChatGPTやそれに似たツールを毎日のように使用しています。こういったツールを使用するときの全ての操作に関わるデータ、たとえばユーザーからの質問とそれに対する回答の両方が、OpenAIやGoogleなどのサーバーに保存されるため、それで発生するリスクを懸念する人がいます。ただ、生成AIを完全に手放す必要はありません。手間と少しだけお金をかければ、ニューラルネットワークを自分のパソコン上で実行することもできます。

クラウドの脅威

最もよく使われている生成AIアシスタントは、大企業のクラウドインフラ上で動作しています。これは効率的でしかも高速ですが、昨年ChatGPTで問題になったように、モデルによって処理された個人データは、AIサービスプロバイダーだけでなく、まったく関係のない第三者もアクセスすることができる可能性があります。

そういったデータの保存や他の組織との共有によって発生する脅威について考えてみましょう。自分が執筆した童話にかわいい挿絵を描いたり、ChatGPTに今週末の旅行の計画を作成してもらったりする分には、情報の流出が深刻なリスクにつながる可能性は低いでしょう。一方で、チャットボットとの会話に、個人データ、パスワード、銀行カード番号など機密情報が含まれている場合、クラウドへのデータ流出は到底許容できるものではありません。ありがたいことに、データを事前にフィルタリングすることで、データ流出は比較的簡単に防ぐことができます。これに関しては、別の記事を投稿しています。

しかし、たとえば医療情報や金融情報など、扱う情報がすべて機密情報である場合、または事前フィルタリングの信頼性があやしい場合(誰もプレビューしてフィルタリングしないような大量のデータを処理する必要がある場合)には、解決策は1つしかありません。クラウドからローカルコンピューター上での処理に変更することです。もちろん、独自のバージョンのChatGPTやMidjourneyをオフラインで実行する場合、満足のいく結果が得られない可能性が高くなります。しかし、別の生成AIをローカルで使用すれば、コンピューターの負荷をより低く抑えた上で、クラウドと同等の結果を得られるようになります。

ニューラルネットワークの実行に必要なハードウエア

ニューラルネットワークを使用するには超強力なグラフィックカードが必要だと聞いたことがあるかと思いますが、実際は必ずしもそうではありません。各種AIモデルの仕様によっては、RAM、ビデオメモリ、ドライブ、CPU(ここでは処理速度だけでなく、プロセッサが特定のベクター命令をサポートしているかどうかも重要)など、パソコンのコンポーネントの要件が高くなる場合があります。モデルを読み込めるかどうかはRAMの容量に依存し、「コンテキストウィンドウ」のサイズ、つまり以前の会話を記憶しているかどうかはビデオメモリの容量に依存します。通常、グラフィックカードとCPUの性能が低いと、生成速度は非常に遅くなります(テキストモデルの場合、1秒間に1~2ワード程度)。そのため、このような最小限のスペックのパソコンは、特定のモデルに慣れ親しみ、基本的な適合性を評価するためだけに使用するのがよいでしょう。本格的に毎日使用したいのなら、RAMを増設するか、グラフィックカードをアップグレードするか、より高速なAIモデルを選択する必要があります。

2017年当時に比較的強力と考えられていたパソコン、つまりAVX2命令をサポートしているCore i7以下のプロセッサー、16GBのRAM、少なくとも4GBのメモリを搭載したグラフィックカードで作業を試すとよいでしょう。Macユーザーの場合は、Apple M1チップ以上で動作するモデルがあれば十分ですが、メモリ要件は同じです。

AIモデルを選ぶ際は、まずそのシステム要件をよく知る必要があります。「<モデル名>の要件」のような検索クエリは、自分が利用できるハードウェアの条件で、このモデルをダウンロードする価値があるかどうかを評価するのに役立ちます。メモリサイズ、CPU、GPUが各種モデルのパフォーマンスに与える影響については、たとえばこのように詳細な研究があります。

高性能なハードウェアが利用できない人にとって朗報です。旧式のハードウェアでも実用的なタスクを実行できる簡略化されたAIモデルがあります。グラフィックカードが必要最小限の低い性能であっても、CPUのみを使用したモデルの実行や環境の起動が可能です。作業内容によっては、こうした環境でも十分に機能する場合があります。

各種のコンピューター環境と一般的な言語モデルの動作例

AIモデルの選択と量子化のマジック

今日、多岐にわたる言語モデルが利用可能ですが、その多くの実用的な用途は限られています。とはいえ、Mistral 7Bなどのテキスト生成やCode Llama 13Bなどのコードスニペット作成など、特定の作業に適してる上に使用が簡単な、一般に公開されているAIツールもあります。したがって、モデルを選択する場合は、いくつかの適切な候補まで絞り込み、コンピューターがそれらを実行するために必要なリソースを備えていることを確認するようにしましょう。

どのようなニューラルネットワークでも、記憶に関する負担のほとんどは重み(ネットワーク内の各ニューロンの動作を記述する数値係数)です。最初にモデルをトレーニングする時、重みは高精度の小数として計算され、保存されます。しかし、学習済みモデルの重みを四捨五入し、性能をわずかに低下させるだけで、AIツールを通常のパソコンで実行できることが判明しました。この処理は量子化と呼ばれます。これにより、モデルのサイズを大幅に縮小することができます。それぞれの重みに16ビットではなく、8ビット、4ビット、さらには2ビットを使用することが可能になります。

現在の研究によると、パラメータ数が多く量子化された大きなモデルの方が、正確な重みを保存する一方でパラメータが少ないモデルよりも、良い結果を得られることがあるとのことです。

このことを念頭におけば、オープンソースの言語モデルの宝庫、つまり、言語モデル探索においてトップであるOpen LLM Leaderboardを使用する際の手助けとなることでしょう。このリストでは、AIツールがいくつかの生成品質指標に基づいて並べられています。サイズが大きすぎたり、小さすぎたり、正確すぎたりするモデルを、フィルターで簡単に除外することができます。

フィルターセットで分類された言語モデルのリスト

モデルの説明を読み、ニーズに適合する可能性があることを確認したら、Hugging FaceまたはGoogle Colabサービスを使用して、クラウドでパフォーマンスをテストしましょう。この方法により、満足のいく結果が得られないモデルのダウンロードを回避でき、時間を節約できます。モデルの最初のテストに満足したら、ローカルでどのように動作するかを確認してみましょう。

必要なソフトウェア

オープンソースのモデルの大半はHugging Faceで公開されていますが、単にパソコンにダウンロードするだけでは十分ではありません。これらを実行するには、LLaMA.cppのような専用のソフトウェアをインストールする必要があります。操作をもっと簡単にしたい場合は、そのソフトウェアの「ラッパー」であるLM Studioをインストールします。後者を使用すると、アプリケーションから目的のモデルを直接選択してダウンロードし、ダイアログボックスで実行することができます。

ローカルでチャットボットを使用するための「すぐに使える」別の方法として、GPT4Allがあります。このチャットボットで使用可能な言語モデルの選択肢は10種類程度に限られますが、そのほとんどは、わずか8GBのメモリと基本的なグラフィックカードしか搭載していないパソコンでも動作します。

生成が遅すぎる場合は、量子化を粗くしたモデル(4ビットではなく2ビット)が必要かもしれません。生成が中断されたり、実行エラーが発生した場合、その問題は多くの場合メモリ不足です。より少ないパラメータを持つモデルか、量子化がより粗いモデルを探すのが得策です。

Hugging Faceに掲載されている多くのモデルは、色々な精度で既に量子化されていますが、自分の望む精度のモデルがまだ量子化されていない場合は、GPTQを使用して自分で量子化することができます。

先週また新たな有望なツールが公開ベータ版としてリリースされました。NVIDIAのChat With RTXです。最も需要が高いAIチップのメーカーによって、YouTubeの動画の内容を要約したり、文書一式を処理したりすることができるローカルチャットボットがリリースされました。これを使用するには、16GBのメモリ、および8GB以上のビデオメモリを搭載したNVIDIA RTX 30シリーズか40シリーズのグラフィックカードが実装されたWindows PCが必要になります。「ボンネットの下」は、Hugging FaceのMistralとLlama 2と同じ品種です。もちろん、強力なグラフィックカードによる生成パフォーマンスの向上も可能ですが、最初のテスターからのフィードバックによると、既存のベータ版はサイズが大きいために非常に扱いにくく(約40GB)、インストールも難しいとのことです。しかし、NVIDIAのChat With RTXは、将来非常に便利なローカルAIアシスタントになる可能性があります。

量子化言語モデルTheBloke/CodeLlama-7B-Instruct-GGUFによって書かれたゲーム「Snake」のコード

上記のアプリケーションは、すべての計算をローカルで実行し、データをサーバーに送信せず、オフラインで実行できるため、機密情報を安全に共有できます。しかし、データ流出を完全に防ぐには、言語モデルのセキュリティだけでなく、使用するパソコンのセキュリティも確保する必要があります。そこで出番となるのが、当社の総合的なセキュリティソリューションです。独立系機関によるテストでも確認されているように、カスペルスキー プレミアムはパソコンのパフォーマンスにほとんど影響を与えません。これは、ローカルAIモデルを使用する際には重要なメリットとなります。

ヒント

ホームセキュリティのセキュリティ

最近では様々な企業が、主にカメラなどのスマートなテクノロジーを活用したホームセキュリティサービスを提供しています。しかし、セキュリティシステムは侵入者からの攻撃に対してどの程度セキュアなのでしょうか?