AI APIを使うと、DataをProviderのInfrastructureへ送り、Modelは相手側のServerで動きます。
**Local Large Language Model (Local LLM)**は、自分で管理するLaptop、Desktop、Workstation、Serverなどで動く言語モデルです。
毎回Restaurantへ料理を注文するか、自宅Kitchenで作るか、という違いに少し似ています。
Controlが増える分、Responsibilityも増えます。
Model Weightが必要
Localで動かすには、Trainingで学習された数値ParameterであるWeightへアクセスできる必要があります。
WeightをDownloadできるModelはOpen-weight Modelと呼ばれることがあります。
ただしOpen-weightとOpen Sourceは完全に同じ意味ではありません。Training DataやCodeが非公開だったり、Licenseに制限があったりします。
Commercial Useでは必ずLicenseを確認します。
最初のHardware壁はMemory
大規模Modelは数十億Parameterを持ちます。
GPU Inferenceでは**VRAM (Video Random Access Memory)**が大きな制約になります。
単純計算で8B Parameterを16-bitで保持すると、Weightだけで約16 GBが必要です。実際にはKV CacheやRuntime Memoryも必要になります。
そこでLocal Inferenceでは**Quantization(量子化)**がよく使われます。
Quantizationとは?
Modelの値を少ないBit数で表現する方法です。
16-bitから8-bit、4-bitなどへ小さくすると、Memory使用量を大幅に減らせます。
その代わりMethodやModelによってはAccuracyやGeneration Qualityが落ちることがあります。
「4-bitだから使えない」と決めつけず、自分のTaskで評価します。
Localで動かす理由
- Dataを自分のEnvironment内へ置きたい
- Offlineで使いたい
- RequestごとのAPI料金を避けたい
- Model Versionを固定したい
- Open-weight ModelをExperimentしたい
- Local FileやToolと強く統合したい
などがあります。
Local = 自動的にPrivate / Freeではない
Local AppがTelemetryや外部Search APIを使えばDataは外へ出る可能性があります。
またAPI料金がなくても、GPU、電気、Maintenance、Engineering TimeにはCostがあります。
SpeedはModel Sizeだけでは決まらない
Tokens per secondは、
- Model Size
- Quantization
- GPU / VRAM Bandwidth
- CPU / RAM
- Context Length
- Inference Engine
- Batch Size
などに左右されます。
Memoryぎりぎりの巨大Modelより、小さく最適化されたModelの方が実用上快適な場合もあります。
APIとLocal、どちらが正解?
Hosted APIはHardwareを管理せず強いModelを使えるのが便利です。
LocalはControl、Privacy、Offline、固定Infrastructureが重要なときに魅力があります。
両方を組み合わせるSystemも多くあります。
今日の一文
Local LLMとは、Model Weightを自分のHardwareへLoadして実行する言語モデルで、Cloudの便利さと引き換えにより大きなControlを得る方法です。
次の第026回では、AI ExperimentやAutomationでよく使われるPythonへ進みます。
コメント
質問、感想、補足したいことがあれば、ここに残せます。
まだコメントはありません。1Fになってみませんか。