11月13日、Hugging Faceが「llama.cpp v1.0.0 : A stronger foundation for the local AI ecosystem」と題した記事を公開した。ローカルLLM推論ライブラリ「llama.cpp」がv1.0.0に到達し、セマンティックバージョニングの導入によってAPIの安定性を正式に保証する体制を整えたことについて詳しく紹介されている。
v1.0.0が意味するもの:「APIの安定性」への正式なコミットメント
llama.cppは、2023年3月にGeorgi Gerganov氏が個人プロジェクトとして公開して以来、急速に普及したC/C++製のLLM推論エンジンだ。量子化(Quantization)と最適化されたバックエンドにより、コンシューマー向けのラップトップからエンタープライズサーバーまで、幅広いハードウェアでLLMをローカル実行できる点が最大の特徴である。
今回のv1.0.0リリースで最も重要なのは、機能追加よりもセマンティックバージョニング(SemVer)の正式採用だ。これまでllama.cppはビルド番号のような独自の番号体系を使っており、破壊的変更(Breaking Change)がいつ入るかの予測が難しかった。今後は以下のルールが適用される。
| 変更の種類 | バージョンの上げ方 |
|---|---|
| MAJOR | ./include内の公開C APIへの破壊的変更 |
| MINOR | 後方互換性のある機能追加、バックエンド更新、モデルサポート追加 |
| PATCH | API変更を伴わないバグ修正 |
llama.cppをライブラリとして組み込んでいるOllamaやLM Studioなどの開発者にとって、メジャーバージョンが上がった時だけ破壊的変更を警戒すればよくなる。これはダウンストリームの開発者にとって実質的な負担軽減だ。さらに、これらのツールのエンドユーザーにとっても、開発者が安定したベースライン上でアップデートを管理できるようになることで、より安定したダウンロード・動作体験が期待できる。
今回リリースされたのは以下の2ライブラリだ。
- **llama.cpp v1.0.0**(
libllama):LLM推論本体 - **ggml v1.0.0**(
libggml):llama.cppが依存する機械学習向けテンソルライブラリ
150超のモデルアーキテクチャと幅広いバックエンド対応
llama.cppの基盤となるテンソルライブラリggmlは、150以上のモデルアーキテクチャと、主要な投機的デコーディング(Speculative Decoding)手法に対応している。各バックエンドは動的ライブラリとしてコンパイルでき、実行時にオプションでロードする設計になっている。対応バックエンドの全リストはこちらで確認できる。
ハードウェアサポートの面では、NVIDIA、AMD、Qualcomm、Arm、IBM、Intelから支援を受け、主要なハードウェアプラットフォームにセルフホストランナーを順次追加している。CI基盤の強化には、Hugging FaceのHF BucketsとHF Jobsも活用されている。
配布チャネルの拡充
v1.0.0に合わせて、配布方法も整理されている。Linux・macOS・Windows・Android・iOSに向けたプレリリースアーティファクトに加え、Docker・Debian・Homebrew・conda-forge・MacPorts・Winget・XCFrameworkなど主要なパッケージマネージャー・配布経路への対応が揃っている。パッケージングやリリースパイプラインへの組み込み方法については、こちらのディスカッションが参考になる。
また、llama.cppチームとHugging Faceが共同でリリースしているデスクトップアプリ「Llama」(macOS・Windows対応)も案内されている。エンドユーザーはこのアプリを通じて、ローカルLLMをより手軽に利用できる。
背景
llama.cppは2023年3月にGerganov氏が個人プロジェクトとして公開したのが始まりだ。※編集部の考察:公開の直接的な契機としてMeta社のLLaMAモデルの流出が挙げられることが多いが、元記事にその表現が明記されているわけではないため、ここでは確認できる事実のみを記載する。その後、ローカルAI推論のデファクトスタンダードとして広く普及し、現在はHugging Faceのggml-org組織の下で開発が続けられている。v1.0.0は公開から初の正式メジャーリリースであり、ライブラリとして成熟したことを示す区切りとなる。
詳細はllama.cpp v1.0.0 : A stronger foundation for the local AI ecosystemを参照していただきたい。