掲載済み (2026-08-29号)
161 150文字 • 1分

goccy/go-llama: llama.cppをPure Goで動作させるライブラリ

原題: GitHub - goccy/go-llama: llama.cpp in pure Go

英語

掲載情報

概要

cgoを介さずWebAssembly経由でGoに変換することで、llama.cppをPure Go環境で動作可能にする革新的なライブラリ。

詳細内容

go-llamaは、人気の高い推論エンジンllama.cppをPure Goで動作させるためのプロジェクトです。cgoや外部共有ライブラリを必要とせず、単一の静的バイナリとして配布・実行できるのが最大の特徴です。これはllama.cppをWebAssemblyにコンパイルし、それをllamawasm2goを用いてGoに変換するというアプローチで実現されています。GGUFモデルの読み込み、ストリーミング出力、投機的サンプリング、LoRAアダプタ、GBNFグラマー、マルチコンテキストのサポートなど、本家llama.cppに近い豊富な機能を備えています。実行性能面では、arm64のNEONやamd64のSSEなどのSIMD命令をネイティブに活用できるよう最適化されています。ただし、Wasmの制約によりメモリは4GiBまでに制限されるため、3B程度の量子化モデルが推奨されます。