- LLaMA の推論コードを純粋な C++ で書き直した LLaMA.cpp のおかげで、Pixel 5、M2 MacBook Pro、Raspberry Pi など多様なハードウェアで実行可能
- 大規模モデルは一般に高価な GPU を必要とするが、これはなぜ可能なのだろうか?
- GPU は大きなメモリ帯域幅と計算能力を持つためディープラーニングに有利だが、メモリ帯域幅がしばしば推論のボトルネックになる
- 実際の計算のためには、HBM メモリ(RAM)からオンチップメモリへ移さなければならないため
- LLaMA の重みに必要な RAM 使用量において、Quantization(量子化)が重要
- 精度を下げることで、モデルをメモリに保存するために必要なメモリ量を大幅に減らせる
- 量子化によってモデル保存に必要なメモリ量を減らし、標準的なデータセンター GPU や高性能なコンシューマー向け GPU のメモリに収まるようにできる
- メモリ帯域幅は、トランスフォーマーのサンプリングに関わるほぼすべての処理で制約要因となる
- 量子化などの方法でメモリ要件を減らせば、はるかに容易にサービングできる
- これは distillation や「より小さなモデルをより長く訓練する」もう1つの理由でもある
3件のコメント
ローカルマシンでLlamaCppからllama2を読み込み、埋め込みのテストをしてみました。
https://breezymind.com/llamacpp-embedding
HNの最初のコメントが参考になりますね
Hacker Newsの意見