ggml-org/llama.cpp
6 articles
前提知識
- ›C/C++ の基礎知識(ポインタ、クラス、仮想ディスパッチ)
- ›大規模言語モデル(LLM)がどのようにテキストを生成するかについての概括的な理解
01
llama.cpp のアーキテクチャ:コードベースの全体マップ
llama.cpp のコードベースを体系的に解説。2層のライブラリ構造、ディレクトリ構成、C API ファサードパターン、中核となる型、そして推論の実行フローを網羅します
02
llama.cpp はモデルの重みをどのように計算へと変換するか
llama.cpp の計算グラフシステムを深く掘り下げる:グラフコンテキストのツールキット、モデルビルダー、アーキテクチャのディスパッチ機構、そして非Transformerモデルがどのように同じフレームワークに収まるか
03
GGML: llama.cpp を支えるテンソルエンジン
GGMLの遅延評価モデル、バックエンドvtableシステム、コンパイル時登録、バックエンドスケジューラ、量子化タイプ、GGUFファイルフォーマットを詳しく解説します
04
デコードループ:バッチ処理、KVキャッシュ、メモリ管理
llama_decode()からバッチ分割、process_ubatch()のコアループ、KVキャッシュ管理、エラーリカバリまで、推論パイプラインを追う
05
HTTPリクエストからトークンへ:サーバーとCLIツールの仕組み
llama.cppのサーバーがスロットを使って並行リクエストを処理する仕組み、OpenAI互換API、そしてCLIがサーバーの内部実装を再利用している理由
06
llama.cpp に新しいモデルアーキテクチャを追加する
GGUF 変換からグラフ構築、テストまで——新しいモデルアーキテクチャを追加するための実践的なエンドツーエンドガイド