「自分のマシン上で言語モデルを実行する」と聞くと、ファンが回り始め、何もしていないのにノートPCが熱くなる様子を思い浮かべる人がいます。そう想像するのも無理はありません。チャットモデルを適切でない方法で動かすと、実際にそうなるからです。

入力候補の生成は、負荷の種類が異なります。実際にどれくらいの負荷がかかるのかを説明するので、お使いのマシンに合ったモデルサイズを選べます。

4つのコスト。そのうち常にかかるのは1つだけ

ディスク。 モデルファイルは一度だけ保存します。数百MBから数GBで、ダウンロード時に必要になります。

メモリ。 モデルの読み込み中は、重みをメモリに常駐させる必要があります。おおよそファイルのサイズに、少量の作業用メモリを加えた量です。これが常にかかるコストであり、マシンで扱えるサイズを決める要因です。16 GBのノートPCなら、モデルが1 GB常駐しても特に問題はありません。ブラウザーを開いた8 GBのノートPCでは、3 GBは大きな負担になります。

計算処理。 候補を生成している間だけです。文の補完では、数百ミリ秒程度の処理が1分に数回発生し、その間には自分のキー入力による停止時間が挟まります。一方、チャットアシスタントが600語を生成すると、数秒間、プロセッサーを最大限に使い続けます。

バッテリー。 計算処理に伴って消費します。短い処理なら消費量はわずかです。ただし、深い省電力状態に一度も入らないマシンは、そうした状態に入るマシンよりも消費電力が大きくなります。つまり、影響が完全にゼロというわけではありません。

覚えておくべき点は、入力予測はほとんどの時間、何もしていないということです。実質的なコストは常駐メモリであり、モデルのサイズがマシンに対して過剰でない限り、ほかはほとんど気にする必要がありません。

ファイルが予想より小さい理由

数百MBと表示されたモデルが、数億個のパラメーターを含むとは限りません。モデルは量子化されて配布され、重みの精度を下げて保存されています。一般的には16ビットではなく4ビットまたは5ビットです。これにより、品質はわずかに、しかし測定可能な程度に低下する一方、サイズとメモリ使用量はおよそ4分の1になります。

自由度の高い推論では、この品質低下は重要です。しかし、すでに書き始めた文を補完する用途では、ほとんど影響しません。制約の大半はモデルの深さではなく、自分が入力したテキストから生じるためです。小型のローカルモデルがこのタスクでは使えて、ほかのタスクでは難しい技術的な理由はそこにあります。

本当の制約は品質ではなく応答速度

厳しい時間制限があります。自分で単語を入力し終えたあとに候補が表示されると、候補がないよりも厄介です。入力を終えた瞬間に表示され、読む時間が無駄になります。

この時間制限によって、メモリに余裕がどれほどあってもモデルサイズには上限が設けられます。ある段階を過ぎると、モデルの性能が上がるほど応答が遅くなり、遅くなれば使われなくなります。実用上の目標は、1.5秒後ではなく、単語と単語のあいだに指が休んでいる数百ミリ秒ほどの間に候補を表示することです。

ここでは、一般的な直感とは逆になります。候補が遅れて表示されるようになれば、それ以上大きくしてもよくありません。適切なのは、お使いのハードウェアで、単語と単語のあいだに応答できる最大サイズです。2019年の薄型ノートPCと、ディスクリートグラフィックスカード搭載のデスクトップとでは、答えが異なります。

サイズの選び方

Typeahead には3種類のモデルがあり、それぞれ異なるバランスに直接対応しています。

サイズ ディスク上のサイズ 必要要件 対象となるマシン
高速(既定) 約600 MB — 対応するすべてのマシン。まず試すのに最適です
バランス 約1.2 GB システムメモリ8 GB 余裕のあるマシン向け。候補の質が上がり、速度も十分に保たれます
最高品質 約2.5 GB 専用メモリ8 GBのディスクリートグラフィックスカード、システムメモリ16 GB 本格的なGPUを搭載したデスクトップやワークステーション

この表について、2点あります。

マシンに余裕があっても、まずは高速から始めましょう。 1週間使ってみてください。候補が十分に役立つなら、チャットメッセージを入力する際に、より大きなモデルにしても違いはほとんど感じられないでしょう。候補が明らかに合わないなら、上のサイズに切り替えましょう。応答速度と引き換えに何が得られるのか、その時点で把握できます。

最高品質には、専用メモリ8 GBを搭載したディスクリートカードが必要です。システムメモリを共有する8 GBではありません。ノートPCの統合型グラフィックスはこの要件を満たしません。また、ページングが必要なハードウェアでモデルを無理に動かすと、この記事の冒頭で触れた、ファンが回り続ける状態をまさに招きます。

本当に余裕のないマシン

  • RAMが8 GBで、ブラウザー、Teams、Officeを開いている場合。 ほかのものを読み込む前から、すでに上限に近い状態です。最小のモデルを使い、RAMが16 GBの人より負荷を感じやすいことを想定してください。普段から作業中にページファイルへのスワップが発生するマシンでは、モデルを常駐させることでさらに悪化します。
  • AVX2に対応していない旧式のプロセッサー。 推論ライブラリはベクトル命令を活用します。2013年より前のプロセッサーでは、提示されている数値より遅くなり、前述の応答速度の上限が問題になります。
  • 熱設計に余裕のない薄型ノートPC。 処理が短時間なので、この用途だけで継続的なサーマルスロットリングが起きる可能性は低いものの、ほかの負荷ですでにスロットリングが発生しているマシンには余裕がありません。
  • 電源に接続せず、バッテリーで使う場合。 候補機能はローカルで動作し、接続を必要としないため、引き続き使えます。長時間のフライトに向けて消費電力を抑えたいなら、より小さなモデルを選びましょう。

お使いのマシンで確認する方法

ほかの人のノートPCで測定した数値は、あまり参考になりません。確認に必要なのは2つの測定値、時間は10分です。

  1. 1. インストールする前に、タスクマネージャーの[パフォーマンス]を開き、普段の作業環境(いつものブラウザーのタブ、メール、チャット)で使用中のメモリ量を確認してください。
  2. 2. モデルをインストールして読み込んだら、同じ数値と、プロセス」タブに表示されるアプリ自体のメモリ使用量を確認してください。

差し引いた結果、総容量に十分な余裕があるなら問題ありません。上限ぎりぎりになるなら、サイズを一段階下げてください。

レイテンシは主観的なものですし、それで構いません。普段入力するような文を打ち、指を止めたときに候補が表示されているか、それともその後に届くかを確認してください。これを確かめるには試用期間が適しています。Typeaheadの試用期間は7日間で、すべてのモデルサイズを利用できます。

コストに見合うもの

  • 入力した内容がマシンの外に出ることはありません。 サーバーがテキストをどう扱うかという方針ではなく、どこで処理されるかという性質によるものです。
  • 接続がなくても動作します。 飛行機の中でも、電車の中でも、DNSの名前解決ができなくなったホテルのWi-Fiでも使えます。
  • ユーザーごとのサブスクリプションもアカウントもありません。料金を支払うサーバーがないためです。
  • レイテンシにばらつきがありません。 ローカルモデルは午前9時でも午後5時でも同じ速度で動作しますが、共有サービスはそうではありません。

常駐メモリを1ギガバイト使う価値があるかどうかは、人によって答えが異なる、正当な問いです。見た目ほど大きな問題ではなく、1週間あれば答えを出せます。

よくある質問

入力予測に使うローカルモデルには、どのくらいのRAMが必要ですか?
モデルの読み込み中は、モデルファイルのサイズにオーバーヘッドを加えた程度のメモリを常時使用します。600 MBのモデルなら、実際に消費するメモリは数百MBほどです。2.5 GBのモデルなら、数GBほどになります。多いと判断する前に、ブラウザーがすでに使っている量と比べてみてください。
GPUを使いますか?
使うこともできます。最大のモデルでは、専用メモリ8 GBを搭載したディスクリートグラフィックスカードが必要です。小型モデルは、この用途であればプロセッサーだけでも問題なく動作します。
バッテリーを消耗しますか?
消費量は動作時間に比例しますが、入力候補の生成は1分に数回、短時間動くだけです。長い応答を生成するチャットアシスタントとは比較にならず、ビデオ通話よりも大幅に少ない消費量です。
モデルが大きいほど、候補の質は上がりますか?
ある程度は上がりますが、ある段階を過ぎると候補の表示が遅くなり、かえって悪影響があります。指が先へ進む前に応答できる範囲で、最も大きなサイズを選ぶのが適切です。
オフラインのときはどうなりますか?
何も変わりません。モデルをダウンロードすれば、候補はお使いのマシン上で生成されます。接続が必要なのは、モデルのダウンロード時または更新の確認時だけです。
購入後にモデルサイズを変更できますか?
はい。モデルサイズはエディションではなく設定項目です。別のサイズをダウンロードして切り替えながら、自分に合ったものを見つけることを想定しています。
小型モデルでは、文章の質が悪くなりませんか?
文章を書くのではなく、文を補完する機能です。カーソルの前にある単語が、候補を大きく制約します。そのため、エッセイの草稿を書くには小さすぎるモデルでも、この用途には十分なのです。また、注意すべき失敗は、意図していないのに流暢な候補が提示されることです。そのため、採用するには必ずキーを明示的に押す必要があります。