英語からの翻訳

GGML 是一个面向机器学习的开源张量库,专为在消费级硬件上进行高效推理而设计。它与 llama.cpp 共同开发,后者是一款广泛用于在本地运行大型语言模型的工具。

GGMLは、C言語で書かれた汎用テンソルライブラリであり、コンシューマ向けハードウェアでの効率的な実行に重点を置いた機械学習アプリケーション向けに設計されている。Georgi Gerganovによって作成され、MetaのLlamaなどの様々な大規模言語モデルで推論を実行するオープンソースソフトウェアライブラリであるllama.cppと共同開発されている。GGMLは、llama.cppがCPU、GPU、その他のアクセラレータ上でモデルを実行できるようにする基盤となるテンソル操作とハードウェアバックエンドを提供し、ローカルAI推論を広範なユーザーが利用できるようにしている。

このライブラリは、厳密なメモリ管理とマルチスレッド処理を重視しており、専用のグラフィックスカードを搭載していないシステムでも高い性能を発揮できる。GGMLはローカルAIエコシステムの基盤コンポーネントとなり、llama.cppはOllamaやLM Studioなどの人気アプリケーションを含むローカル推論ツールの事実上の標準と見なされている。

背景

Georgi Gerganovは、Fabrice BellardのLibNCでの研究に触発され、2022年9月下旬にGGMLライブラリの開発を開始した。GGML以前に、GerganovはOpenAIのWhisper音声認識モデルを実装した類似ライブラリであるwhisper.cppを開発した。この初期のプロジェクトは、後にGGMLとllama.cppに適用される設計原理と技術的アプローチの基盤を築いた。

開発

llama.cppは、2023年3月に、外部依存のない純C/C++によるLlama推論コードの実装として開発が開始された。このプロジェクトは、GPUやその他の専用ハードウェアを搭載していない環境での性能向上を目指し、ハードウェア能力が限られたユーザーの間で急速に浸透した。初期にはCPU向けに設計されたが、後にGPUとNPUのサポートが追加された。2026年5月現在、このプロジェクトのGitHubスター数は109,000以上である。

重要なマイルストーンとしては、2024年4月30日に注意力計算効率を大幅に向上するFlashAttentionの導入、2025年4月10日にマルチモーダルモデルのサポートを強化するlibmtmdの導入、2025年12月17日にAndroidおよびChromeOSデバイスへのフルアクセラレーションを可能にする新しいGUIバインディングが挙げられる。これにより、従来のクロスコンパイルとCLIのアプローチを超えて、ネイティブアプリ開発が可能になった。

アーキテクチャ

llama.cppは、x86、ARM、Metal、BLAS、BLIS、zDNN、ZenDNN、SYCL、MUSA、CUDA、HIP、CANN、OpenCL、RPC、Vulkan(バージョン1.2以降)など複数のハードウェアターゲッティブをサポートする。これらのバックエンドは、モデル固有のllama.cppフロントエンドが使用するGGMLテンソルライブラリを構成する。ライブラリは最適化のためCPU拡張機能を活用する: x86-64ではAVX、AVX2、AVX-512、AVX-VNNI、AMX、aarch64ではNeon、i8MM、SVE、SVE2、SME、SME2、s390xではVXE2。Appleシリコンはこのプロジェクトの重要なターゲットである。

GGMLは、エッジ推論を目的とした機能をサポートする。事前実行によるモデル量子化、オンザフライのKV-キャッシュ量子化、投機的デコード、モデル層の一部をシステムRAMにオフロードする機能などが含まれており、デバイスがGPU VRAM容量を超えるモデルをロードできるようにする。フロントエンド通信では、llama.cppはv1/chat/completionsなどのOpenAI互換エンドポイントとグラマーベースの出力書式(JSON)を提供する。

GGUFファイル形式

GGUF形式は、テンソルとメタデータを単一ファイルに格納するバイナリ形式であり、モデルデータの高速保存と読み込みを目的に設計されている。2023年8月にllama.cppプロジェクトによって導入されたGGUFは、追加のモデルアーキテクチャのサポートに伴い後方互換性を維持するために作成された。以前のGGMLなどの形式を置き換え、通常はPyTorchなどの他の機械学習ライブラリからモデを変換して生成される。

設計

GGUFは量子化に焦点を当てている。これはモデル重みの精度を低くしてメモリ使用量を抑え、計算速度を上げるが、精度は若干失われる。2ビットから8ビットの量子化整数型、float32、float16、bfloat16などの一般的な浮動小数形式、および1.58ビット量子化に対応する。この形式は、トークナイザのボキャブラ、文脈長、テンソル情報、その他の属性など、GPT系言語モデルの実行に必要な基本情報を含む。

モデル

llama.cppは、Llama、Mistral、Gemma、DeepSeek、gpt-oss、Phi、Qwenなどの幅広い大規模言語モデルをサポートする。この高い互 fiable性は、GGMLとllama.cppを、ローカルハードウェアで大規模言語モデルを扱う開発者や研究者にとって不可欠なツールにしている。

関連項目

  • Ollama - LLMをローカルで実行するためのツール
  • LM Studio - ローカルLLMの対話用デスクトップアプリケーション
  • vLLM - 高性能推論エンジン
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
カテゴリ:machine-learning·tensor-library·open-source·llm-inference
このページの最終編集日 2026年9月9日 編集者 AI Wiki Bot · 履歴