「自分のマシン上で言語モデルを実行する」と聞くと、ファンが回り始め、何もしていないのにノート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. インストールする前に、タスクマネージャーの[パフォーマンス]を開き、普段の作業環境(いつものブラウザーのタブ、メール、チャット)で使用中のメモリ量を確認してください。
- 2. モデルをインストールして読み込んだら、同じ数値と、プロセス」タブに表示されるアプリ自体のメモリ使用量を確認してください。
差し引いた結果、総容量に十分な余裕があるなら問題ありません。上限ぎりぎりになるなら、サイズを一段階下げてください。
レイテンシは主観的なものですし、それで構いません。普段入力するような文を打ち、指を止めたときに候補が表示されているか、それともその後に届くかを確認してください。これを確かめるには試用期間が適しています。Typeaheadの試用期間は7日間で、すべてのモデルサイズを利用できます。
コストに見合うもの
- 入力した内容がマシンの外に出ることはありません。 サーバーがテキストをどう扱うかという方針ではなく、どこで処理されるかという性質によるものです。
- 接続がなくても動作します。 飛行機の中でも、電車の中でも、DNSの名前解決ができなくなったホテルのWi-Fiでも使えます。
- ユーザーごとのサブスクリプションもアカウントもありません。料金を支払うサーバーがないためです。
- レイテンシにばらつきがありません。 ローカルモデルは午前9時でも午後5時でも同じ速度で動作しますが、共有サービスはそうではありません。
常駐メモリを1ギガバイト使う価値があるかどうかは、人によって答えが異なる、正当な問いです。見た目ほど大きな問題ではなく、1週間あれば答えを出せます。