GGUF
conversational

YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

llama.cpp_ Vullkan

llama.cpp_ Vullkan Banner
██╗   ██╗██╗   ██╗██╗     ██╗     ██╗  ██╗ █████╗ ███╗   ██╗
██║   ██║██║   ██║██║     ██║     ██║ ██╔╝██╔══██╗████╗  ██║
██║   ██║██║   ██║██║     ██║     █████╔╝ ███████║██╔██╗ ██║
╚██╗ ██╔╝██║   ██║██║     ██║     ██╔═██╗ ██╔══██║██║╚██╗██║
 ╚████╔╝ ╚██████╔╝███████╗███████╗██║  ██╗██║  ██║██║ ╚████║
  ╚═══╝   ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝

High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem with Native AMD Vulkan Acceleration, Instella-MoE & LLM-jp-4 Support

🇧🇷 Português (PT-BR)  |  🇯🇵 日本語 (JP)

[![Zenodo:](https://img.shields.io/badge/zenodo-orange.svg)](https://zenodo.org/records/22072308) [![License: MIT](https://img.shields.io/badge/license-MIT-orange.svg)](https://opensource.org/licenses/MIT) [![C++: 17/20](https://img.shields.io/badge/C%2B%2B-17%2F20-blue.svg)](https://en.cppreference.com/) [![Backend: AMD Vulkan](https://img.shields.io/badge/Backend-AMD%20Vulkan%20%2F%20RADV-red.svg)](#-arquitetura-e-aceleração-amd-vulkan) [![Architecture: Instella--MoE & LLM--jp--4](https://img.shields.io/badge/Arch-Instella--MoE%20%26%20LLM--jp--4-9d4edd.svg)](#-suporte-ao-amd-instella-moe--gated-mla) [![WebUI: SvelteKit + Vite](https://img.shields.io/badge/WebUI-SvelteKit%20%2B%20Vite-ff5400.svg)](https://svelte.dev/) [![Status: Native & Unlocked](https://img.shields.io/badge/Status-Native%20%26%20Unlocked-00e5ff.svg)](#-principais-capacidades-do-fork) [![Agentic: Multi--Turn Engine](https://img.shields.io/badge/Agentic-Autonomous%20Loop-ffb703.svg)](#-1-centro-de-controle-agêntico-agent-control-center)

🇧🇷 Versão em Português (PT-BR)

📖 Visão Geral

llama.cpp_ Vullkan é um fork avançado, desbloqueado e de altíssimo desempenho do ecossistema llama.cpp, projetado com suporte nativo de primeira classe para aceleração de hardware AMD Vulkan (RADV) em CPUs e GPUs AMD (da linha Ryzen 5 até Ryzen 9, APUs integradas e placas dedicadas Radeon), com suporte completo para as arquiteturas de ponta da comunidade open-source, incluindo a família AMD Instella-MoE (Gated MLA + FarSkip-Collective) e a família LLM-jp-4 (Unigram Byte-Fallback Tokenizer com OpenAI Harmony Channels).

O projeto une o poder da computação vetorial Vulkan com:

  • Suporte Nativo a AMD Instella-MoE com Gated MLA (attn_gate), FarSkip residual dataflow e conversor HF $\rightarrow$ GGUF integrado;
  • Suporte Completo a LLM-jp-4 (8B & 32B-A3B Thinking/Instruct) com correção de prefixo de espaço (lstrip) em tokenizadores Unigram e parser PEG tolerante a canais Harmony/GPT-OSS;
  • Motor Agêntico Autônomo Multi-Turn com 6 perfis integrados (incluindo Polyglot & Localization);
  • Sistema de Referência Multilíngue de 55 Línguas (languages_ref) para injeção de diretrizes linguísticas e alinhamento de sentenças na memória do LLM;
  • Suporte Nativo a FIM (Fill-in-the-Middle) para geração e autocompletar código em IDEs;
  • Aceleração MMVQ (Matriz-Vetor Quantizado) nativa para arquiteturas AMD;
  • Zero-Copy Host Memory automático para APUs com arquitetura de memória unificada (UMA);
  • Web UI Moderna (SvelteKit + Vite) com o tema Cyberpunk Lava Neon e efeitos dinâmicos de fogo durante o processamento.

⚡ Suporte ao AMD Instella-MoE & Gated MLA

Este fork implementa suporte completo e nativo de ponta a ponta para a arquitetura Instella-MoE (amd/Instella-MoE-16B-A3B-Think, Base, SFT, etc.):

  1. Gated Multi-Head Latent Attention (Gated MLA):
    • Suporte ao tensor de gating de atenção (model.layers.{i}.self_attn.gate_proj.weight $\rightarrow$ blk.{i}.attn_gate.weight).
    • Avaliação e aplicação da ativação $\sigma(\text{gate}) \odot \text{attn_output}$ antes da projeção de saída wo em operações de atenção latente absorvida e MHA.
  2. FarSkip-Collective Residual Dataflow:
    • Implementação do fluxo residual desacoplado que propaga residual_no_routed ($\text{resíduo} + \text{atenção} + \text{especialistas compartilhados}$) diretamente para a atenção da camada seguinte, reservando a agregação dos routed experts para o bloco MLP, espelhando a arquitetura de treinamento da AMD.
  3. Conversão HF $\rightarrow$ GGUF Nativa:
    • Mapeamento direto de InstellaMoEForCausalLM no conversor convert_hf_to_gguf.py, exportando tensores em precisões f16, bf16 ou quantizações sem necessidade de scripts externos.

🎌 Suporte Nativo a LLM-jp-4 (Unigram Tokenizer & Harmony Channels)

Este fork incorpora as correções e aprimoramentos necessários para a execução nativa de toda a família de modelos LLM-jp-4 (incluindo llm-jp-4-8b-thinking, llm-jp-4-32b-a3b-thinking-gguf e variantes Instruct):

  1. Correção de Remoção de Espaço em Tokens Especiais (lstrip / add_space_prefix):
    • Os modelos LLM-jp-4 utilizam o tokenizador Unigram byte-fallback (add_space_prefix = true). No llama.cpp upstream original, palavras emitidas imediatamente após tokens de controle/especiais (como <|channel|>, <|start|>, <|message|>) recebiam um espaço inicial indevido na detokenização e no streaming (tools/server/server-context.cpp).
    • Implementamos a sincronização com o fork oficial llm-jp/llama.cpp, propagando remove_space e lstrip após tokens de controle (LLAMA_TOKEN_ATTR_CONTROL | LLAMA_TOKEN_ATTR_USER_DEFINED), garantindo decodificação 100% idêntica ao tokenizador Hugging Face de referência.
  2. Gramática PEG Robusta para Canais GPT-OSS / Harmony:
    • A gramática de parsing nativo (common_chat_params_init_gpt_oss em common/chat.cpp) foi aprimorada para aceitar delimitadores com espaços opcionais (opt_space). Isso elimina completamente falhas de validação de formato (unparsed peg-native output), impedindo que a Web UI trave ou aborte o streaming durante turnos de raciocínio (analysis/thinking) ou de resposta final (final).

🎮 Arquitetura e Aceleração AMD Vulkan

O llama.cpp_ Vullkan foi projetado para extrair 100% do poder do hardware AMD via Vulkan sem a necessidade de scripts de contorno ou parâmetros hardcoded:

  1. Eliminação Nativa de Fallbacks de Software (llvmpipe):
    • O subsistema de inicialização de dispositivos filtra e seleciona diretamente GPUs físicas de hardware (eDiscreteGpu e eIntegratedGpu), descartando emuladores de CPU.
  2. Zero-Copy Host Memory em APUs (UMA):
    • Identificação dinâmica de arquitetura integrada em processadores Ryzen (5, 7, 9). Tensores são alocados diretamente na memória do host sem overhead de cópias redundantes.
  3. Kernels MMVQ Acelerados:
    • Ativação nativa de kernels quantizados otimizados para as Compute Units AMD (VK_VENDOR_ID_AMD).
  4. Proteção Dinâmica de Alocação (SysMem Fallback):
    • Alocação elástica para contextos extensos (ex: 32k - 128k tokens) prevenindo quebras por falta de VRAM dedicada.
  5. Afinidade Inteligente de Threads Zen:
    • Detecção automática de núcleos físicos no Linux para eliminar contenção de threads SMT em álgebra linear.

✨ Principais Capacidades do Fork

🤖 1. Centro de Controle Agêntico (Agent Control Center)

  • Painel Dedicado na Barra Lateral (#/agents): Interface intuitiva para configurar e alternar entre agentes autônomos.
  • 6 Perfis Agênticos Nativos:
    • 💻 Code Architect: Engenheiro full-stack para inspeção de código, refatoração e testes.
    • DevOps & SysOps: Diagnóstico de sistema operacional, automação shell e monitoramento de hardware.
    • 🔍 Deep Research: Pesquisa técnica, síntese de documentações e consultas estruturadas.
    • 📊 Math & Data Analyst: Resolução algébrica e cálculo simbólico exato via sandbox Nerdamer.
    • 🌐 Polyglot & Localization: Especialista em tradução paralela, terminologia e localização ancorada no corpus de 55 línguas.
    • 🤖 Universal Agent: Acesso unificado a todas as ferramentas do ecossistema simultaneamente.
  • Execução Autônoma Contínua: Loop multi-turno desbloqueado para execução fluida sem interrupções manuais de permissão.

💻 2. Motor de Infilling e FIM (Fill-in-the-Middle) Nativo

  • Compatibilidade Total com OpenAI /v1/completions:
    • Processa o parâmetro suffix diretamente no núcleo C++, integrando-se instantaneamente a extensões de IDEs como Continue.dev, Cursor, Tabby, VS Code e Neovim.
  • Endpoint Especializado POST /infill:
    • Suporte ao padrão Repo-Level Context (<FIM_REP>, <FIM_SEP>, <FIM_PRE>, <FIM_SUF>, <FIM_MID>) para sugestões contextuais de código em múltiplos arquivos.

🛠️ 3. Matriz de Ferramentas Nativas & Protocolo MCP

Conjunto completo de ferramentas de sistema prontas para uso:

Ferramenta Identificador Camada Descrição
Language Reference languages_ref Backend C++ Acesso ao corpus de 55 línguas, alinhamento paralelo de frases, busca de termos e injeção na memória de contexto do LLM.
Read File read_file Backend C++ Leitura de arquivos locais com paginação e offset de bytes.
Write File write_file Backend C++ Criação e persistência de arquivos no disco.
Edit File edit_file Backend C++ Substituição cirúrgica de trechos com verificação de integridade.
File Glob Search file_glob_search Backend C++ Varredura recursiva de diretórios com padrões glob.
Grep Search grep_search Backend C++ Busca de texto literal ou regex em múltiplos arquivos.
Exec Shell exec_shell_command Backend C++ Execução de comandos no shell bash com streaming SSE.
Get Datetime get_datetime Backend C++ Consulta precisa de data, hora e fuso horário.
Get Runtime Info get_info Backend C++ Diagnóstico de SO, arquitetura, CPU e commit Git.
Run JavaScript run_javascript Frontend Browser Sandbox Web Worker isolado com motor simbólico Nerdamer.
MCP Connectors mcp:* Backend / Proxy Conexão com servidores MCP (Exa, GitHub, HF Hub, SQL, etc.).

🌐 4. Sistema de Referência Multilíngue (55 Línguas & languages_ref)

Este fork integra uma base paralela completa de 55 idiomas em tools/languages_ref/ para que o modelo consulte termos exatos, padrões gramaticais e frases de referência durante a geração:

  • Ações da Tool (languages_ref):
    • action: "get": Carrega frases de referência do idioma selecionado diretamente na memória de contexto (reference_context).
    • action: "list": Lista todas as 55 línguas suportadas com seus nomes nativos e status de disponibilidade.
    • action: "search": Busca termos específicos em qualquer língua do corpus.
    • action: "align": Alinha traduções paralelas entre língua de origem (source_language) e destino (language) com base em IDs idênticos.
  • Integração no Frontend Vite:
    • Comando de barra rápida /lang <código> (ex: /lang pt-BR, /lang ja, /lang de).
    • Renderização dedicada de cards com badges de idioma, alinhamentos bilíngues e botões de cópia rápida.
    • Disponibilidade garantida em qualquer porta ou rota via endpoints relativos (./tools).

🔥 5. Identidade Visual Vullkan (Cyberpunk Lava Neon)

  • Logo Vetorial Vullkan: Emblema geométrico vulcânico incandescente integrado nos formatos .svg e PWA.
  • Efeitos de Lava durante Processamento:
    • Shimmer fluido estilo magma líquido nas caixas de raciocínio (Reasoning...);
    • Borda com pulso térmico (magma-pulse) durante a geração de tokens;
    • Barras de progresso e spinners iluminados com halo de fogo neon;
    • Tema escuro de alto contraste otimizado para longas sessões de desenvolvimento.

🚀 Como Compilar e Executar

1. Pré-requisitos

  • Compilador C++ moderno (GCC 11+, Clang 14+ ou MSVC)
  • CMake 3.14+
  • Headers e bibliotecas Vulkan (libvulkan-dev, glslc / vulkan-tools)
  • Python 3.10+ com torch e transformers
  • Node.js 18+ e npm (apenas para geração inicial dos assets da Web UI)

2. Compilação Nativa Completa

# 1. Compilar os assets da Web UI
cd tools/ui
npm install
npm run build
cd ../..

# 2. Configurar e compilar com aceleração Vulkan nativa
cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc)

3. Conversão de Modelos (Exemplo: AMD Instella-MoE)

Converta modelos Hugging Face para o formato GGUF diretamente com suporte a Gated MLA:

python3 convert_hf_to_gguf.py "/caminho/para/amd-Instella-MoE-16B-A3B-Think" \
  --outfile "/caminho/para/Instella-MoE-16B-A3B-Think-F16.gguf" \
  --outtype f16

4. Executando o Servidor

Você pode iniciar o servidor diretamente via script configurado:

./start_server.sh

Ou executando o binário llama-server manualmente:

LD_LIBRARY_PATH=build/bin ./build/bin/llama-server \
  -m /caminho/para/modelo.gguf \
  -ngl 99 \
  -c 32768 \
  --port 8080 \
  --host 0.0.0.0

Acesse a interface web em http://localhost:8080 ou utilize a API OpenAI compatível em http://localhost:8080/v1.


5. Benchmark e Diagnóstico de Dispositivos

Para verificar os dispositivos de aceleração detectados:

LD_LIBRARY_PATH=build/bin ./build/bin/llama-cli --list-devices

Para rodar o benchmark de inferência na GPU Vulkan:

LD_LIBRARY_PATH=build/bin ./build/bin/llama-bench \
  -m /caminho/para/modelo.gguf \
  -ngl 99 \
  -p 512 \
  -n 128

6. Integração com IDEs (FIM / Autocomplete)

Configure extensões como Continue.dev no seu config.json:

{
  "tabAutocompleteModel": {
    "title": "llama.cpp_ Vullkan Infill",
    "provider": "openai",
    "model": "seu-modelo-gguf",
    "apiBase": "http://localhost:8080/v1"
  }
}

🇯🇵 日本語版 (JP)

📖 概要

llama.cpp_ Vullkan は、AMD 製 CPU および GPU(Ryzen 5 から Ryzen 9、内蔵 APU、Radeon ディスクリート GPU)向けの AMD Vulkan (RADV) ハードウェアアクセラレーションにネイティブ対応した、高度に最適化・アンロックされた超高性能な llama.cpp フォークです。さらに、最新のオープンソースアーキテクチャである AMD Instella-MoE(Gated MLA + FarSkip-Collective)および LLM-jp-4 シリーズ(Unigram Byte-Fallback トークナイザ + OpenAI Harmony チャネル)にも完全対応しています。

本プロジェクトは、Vulkan ベクトル演算のパワーに加え、以下の機能を統合しています:

  • AMD Instella-MoE ネイティブ対応: Gated MLA(attn_gate)、FarSkip 残差データフロー、HF $\rightarrow$ GGUF コンバータを完全統合;
  • LLM-jp-4 (8B & 32B-A3B Thinking/Instruct) 完全対応: Unigram トークナイザの空白プレフィックス削除 (lstrip) および Harmony/GPT-OSS チャネル対応の堅牢な PEG パーサーを実装;
  • 自律型マルチターン・エージェントエンジン: 6 つの組み込みプロファイル(Polyglot & Localization 含む)を搭載;
  • 55言語マルチリンガル・リファレンスコーパス (languages_ref): 言語規範や対訳センテンスを LLM のコンテキストメモリへ直接ロードし、超高精度な翻訳・ローカライズを実現;
  • ネイティブ FIM (Fill-in-the-Middle) 対応: 各種 IDE でのコード補完・生成を高速化;
  • ネイティブ MMVQ (量子化行列・ベクトル積) アクセラレーション: AMD Compute Unit に最適化;
  • Zero-Copy Host Memory: 統合メモリアーキテクチャ(UMA)を採用する APU で冗長なコピーを完全排除;
  • モダン Web UI (SvelteKit + Vite): Cyberpunk Lava Neon テーマと動的なマグマ発光エフェクトを搭載。

⚡ AMD Instella-MoE & Gated MLA 対応

本フォークでは、AMD の最新モデル Instella-MoEamd/Instella-MoE-16B-A3B-ThinkBaseSFT 等)のエンドツーエンド対応を実現しています:

  1. Gated Multi-Head Latent Attention (Gated MLA):
    • アテンショングーティングテンソル(model.layers.{i}.self_attn.gate_proj.weight $\rightarrow$ blk.{i}.attn_gate.weight)に対応。
    • 吸収 MLA および MHA 演算において、出力射影 wo の直前に $\sigma(\text{gate}) \odot \text{attn_output}$ 演算を正確に適用。
  2. FarSkip-Collective 残差データフロー:
    • AMD の学習アーキテクチャに準拠し、residual_no_routed($\text{残差} + \text{アテンション} + \text{共有エキスパート}$)を次層のアテンションに先行供給し、ルーティングエキスパートの集約を MLP ブロックに限定する非同期通信向け残差データフローを実装。
  3. ネイティブ HF $\rightarrow$ GGUF 変換:
    • convert_hf_to_gguf.py において InstellaMoEForCausalLM を直接認識し、外部スクリプト不要で f16bf16、各種量子化 GGUF を直接生成。

🎌 LLM-jp-4 ネイティブ対応 (Unigram トークナイザ & Harmony チャネル)

本フォークは、LLM-jp-4 モデルシリーズ(llm-jp-4-8b-thinkingllm-jp-4-32b-a3b-thinking-ggufInstruct 各バリアント)を完全にサポートするための最適化と修正を統合しています:

  1. 特殊トークン後の空白プレフィックス除去 (lstrip / add_space_prefix):
    • LLM-jp-4 は Unigram byte-fallback トークナイザ (add_space_prefix = true) を採用しています。従来の llama.cpp アップストリームでは、制御・特殊トークン(<|channel|>, <|start|>, <|message|> 等)の直後に生成された単語に余分な先頭空白が付与され、チャットパーサーの破綻や Web UI の停止を引き起こしていました。
    • llama-vocab.cppcommon.cpp、および server-context.cpp において制御トークン属性 (LLAMA_TOKEN_ATTR_CONTROL | LLAMA_TOKEN_ATTR_USER_DEFINED) を検出し、特殊トークン直後の lstrip を正確に処理。Hugging Face 公式トークナイザと完全一致するデトークナイズ出力を実現しました。
  2. 堅牢な Harmony / GPT-OSS チャネル PEG パーサー:
    • common/chat.cpp の GPT-OSS パーサー文法を拡張し、デリミタ周辺のオプション空白 (opt_space) を許容するように改良。思考チャネル (analysis/thinking) や最終回答チャネル (final) におけるフォーマット検証エラー (unparsed peg-native output) を完全に防止し、Web UI 上でのスムーズな推論ストリーミングを保証します。

🎮 AMD Vulkan アーキテクチャとアクセラレーション

llama.cpp_ Vullkan は、ハードコードされた設定や回避策を必要とせず、AMD ハードウェアの性能を 100% 引き出します:

  1. ソフトウェアフォールバック (llvmpipe) の自動排除:
    • デバイス初期化時に物理ハードウェア GPU(eDiscreteGpu および eIntegratedGpu)を直接選択し、CPU エミュレータを自動除外。
  2. APU 向け Zero-Copy Host Memory (UMA):
    • Ryzen APU(5, 7, 9)の統合メモリ構造を動的に認識し、テンソルをホストメモリ上に直接マッピングして無駄なコピーを削減。
  3. 高速化された MMVQ カーネル:
    • AMD Compute Unit (VK_VENDOR_ID_AMD) に特化した量子化行列積カーネルを常時有効化。
  4. 動的メモリ保護 (SysMem Fallback):
    • 大規模コンテキスト(32k 〜 128k トークン)における VRAM 枯渇を防ぐ柔軟なシステムメモリフォールバック。
  5. Zen アーキテクチャ向けスレッド最適化:
    • Linux 上で物理コアを自動検出し、線形代数演算における SMT スレッドの競合を解消。

✨ 主な機能と特徴

🤖 1. エージェント制御センター (Agent Control Center)

  • サイドバー専用パネル (#/agents): 自律エージェントの作成・切替が直感的に行える UI。
  • 6 つの組み込みエージェントプロファイル:
    • 💻 Code Architect: コードインスペクション、リファクタリング、テスト設計を行うフルスタックエンジニア。
    • DevOps & SysOps: OS 診断、シェル自動化、ハードウェア監視を実行。
    • 🔍 Deep Research: 技術リサーチ、ドキュメント要約、構造化クエリの実行。
    • 📊 Math & Data Analyst: Nerdamer サンドボックスによる数式処理・代数計算。
    • 🌐 Polyglot & Localization: 55言語コーパスに裏付けられた高精度な対訳アラインメント・用語統一・ローカライズの専門家。
    • 🤖 Universal Agent: 全システムツールを統合した汎用自律エージェント。
  • 自律的連続実行ループ: ユーザーへの不要な承認プロンプトを省き、タスク完了までスムーズに実行。

💻 2. ネイティブ FIM (Fill-in-the-Middle) エンジン

  • OpenAI /v1/completions 完全互換:
    • C++ コアで suffix パラメータを直接処理し、Continue.devCursorTabbyVS CodeNeovim などの IDE 拡張機能と即座に連携。
  • 専用エンドポイント POST /infill:
    • リポジトリレベルのコンテキストトークン(<FIM_REP>, <FIM_SEP>, <FIM_PRE>, <FIM_SUF>, <FIM_MID>)に対応し、高精度な複数ファイル補完を実現。

🛠️ 3. ネイティブツールマトリクス & MCP プロトコル

即座に利用可能な豊富なシステムツール群:

ツール名 識別子 レイヤー 説明
Language Reference languages_ref C++ Backend 55言語コーパスへのアクセス、対訳アラインメント、用語検索、LLM コンテキストメモリへの注入。
Read File read_file C++ Backend ページネーション・バイトオフセット対応のローカルファイル読み取り。
Write File write_file C++ Backend ローカルストレージへのファイル作成・書き込み。
Edit File edit_file C++ Backend 整合性検証付きのピンポイントコード置換。
File Glob Search file_glob_search C++ Backend Glob パターンによる再帰的ディレクトリ検索。
Grep Search grep_search C++ Backend 複数ファイルに対するリテラルまたは正規表現検索。
Exec Shell exec_shell_command C++ Backend Bash シェルコマンドの実行および SSE ストリーミング。
Get Datetime get_datetime C++ Backend 正確な日時およびタイムゾーンの取得。
Get Runtime Info get_info C++ Backend OS、CPU、アーキテクチャ、Git コミットの診断情報。
Run JavaScript run_javascript Browser Frontend Nerdamer 数式処理エンジンを内包した安全な Web Worker サンドボックス。
MCP Connectors mcp:* Backend / Proxy MCP サーバー(Exa, GitHub, HF Hub, SQL 等)との直接接続。

🌐 4. マルチリンガル・リファレンスシステム (55言語 & languages_ref)

本フォークは tools/languages_ref/ に格納された 55 言語の並行データセットを内包し、モデルが生成時に正確な用語や文法、対訳リファレンスを参照できるようにします:

  • ツールのアクション (languages_ref):
    • action: "get": 指定言語のリファレンス文をコンテキストメモリ (reference_context) に直接注入。
    • action: "list": 全 55 言語のコード、ネイティブ言語名、利用可否ステータスを一覧取得。
    • action: "search": コーパス内の任意の言語から特定用語を検索。
    • action: "align": 同一 ID に基づいてソース言語 (source_language) とターゲット言語 (language) の対訳文を並行アラインメント。
  • Vite フロントエンド連携:
    • スラッシュコマンド /lang <言語コード>(例: /lang ja, /lang pt-BR, /lang en-US)によるワンタッチ参照。
    • 言語バッジ、対訳表示、ID チップ、ワンクリックコピーを備えた専用 UI ブロック。
    • 相対パス (./tools) による任意のポートおよびリバースプロキシ環境での完全動作。

🔥 5. Vullkan ビジュアルアイデンティティ (Cyberpunk Lava Neon)

  • Vullkan ベクターロゴ: 発光する幾何学的火山シンボルを .svg および PWA に統合。
  • 動的マグマ発光エフェクト:
    • 思考ボックス(*Reasoning...*)の流体マグマシマーエフェクト;
    • トークン生成時のサーマルパルス境界線(magma-pulse);
    • ネオンファイアのグローを纏ったプログレスバー&スピナー;
    • 長時間の開発作業に最適化された高コントラスト・ダークテーマ。

🚀 ビルドと実行方法

1. 必要要件

  • C++ コンパイラ(GCC 11+, Clang 14+, または MSVC)
  • CMake 3.14+
  • Vulkan 開発パッケージおよびライブラリ(libvulkan-dev, glslc / vulkan-tools
  • Python 3.10+(torch, transformers 導入済み環境)
  • Node.js 18+ および npm(Web UI アセット生成時のみ必要)

2. 完全ネイティブビルド手順

# 1. Web UI アセットのビルド
cd tools/ui
npm install
npm run build
cd ../..

# 2. Vulkan アクセラレーションを有効化して CMake ビルド
cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc)

3. モデルの変換(例: AMD Instella-MoE)

Hugging Face 形式のモデルを Gated MLA 対応 GGUF に直接変換します:

python3 convert_hf_to_gguf.py "/path/to/amd-Instella-MoE-16B-A3B-Think" \
  --outfile "/path/to/Instella-MoE-16B-A3B-Think-F16.gguf" \
  --outtype f16

4. サーバーの起動

設定済みスクリプトから簡単に起動できます:

./start_server.sh

または llama-server バイナリを手動で実行:

LD_LIBRARY_PATH=build/bin ./build/bin/llama-server \
  -m /path/to/model.gguf \
  -ngl 99 \
  -c 32768 \
  --port 8080 \
  --host 0.0.0.0

ブラウザで http://localhost:8080 を開くか、http://localhost:8080/v1 の OpenAI 互換 API をご利用ください。


5. ベンチマークとデバイス診断

認識されたアクセラレーションデバイスを確認:

LD_LIBRARY_PATH=build/bin ./build/bin/llama-cli --list-devices

Vulkan GPU 上で推論ベンチマークを実行:

LD_LIBRARY_PATH=build/bin ./build/bin/llama-bench \
  -m /path/to/model.gguf \
  -ngl 99 \
  -p 512 \
  -n 128

6. IDE 連携 (FIM / コード補完)

Continue.dev などの config.json に以下を設定します:

{
  "tabAutocompleteModel": {
    "title": "llama.cpp_ Vullkan Infill",
    "provider": "openai",
    "model": "your-model-gguf",
    "apiBase": "http://localhost:8080/v1"
  }
}

📁 リポジトリ構成 / Repository Structure

llama_server_VULKAN/
├── common/                  # 共通インフラストラクチャ (引数処理, サンプリング, Jinja テンプレート)
├── ggml/
│   └── src/ggml-vulkan/     # AMD Vulkan バックエンド & SPIR-V シェーダー
├── src/                     # llama.cpp コア (テンソル, アーキテクチャ, KV キャッシュ)
│   └── models/              # 各種モデル定義 (deepseek2, instella-moe, llama4 等)
├── conversion/              # Python GGUF 変換モジュール (deepseek, qwen, llama 等)
├── convert_hf_to_gguf.py    # HuggingFace → GGUF 変換メインスクリプト
├── gguf-py/                 # GGUF 仕様・バイナリライター Python パッケージ
├── tools/
│   ├── languages_ref/       # 55言語マルチリンガル並行リファレンスコーパス (.jsonl)
│   ├── server/              # llama-server C++ バックエンド (HTTP, ルーティング, FIM, MCP, languages_ref)
│   ├── ui/                  # Web UI フロントエンド (SvelteKit, Vite, Agents, Vullkan テーマ, /lang)
│   ├── cli/                 # インタラクティブ CLI ターミナル
│   └── llama-bench/         # 性能ベンチマークユーティリティ
├── start_server.sh          # Vulkan 最適化起動スクリプト
└── CMakeLists.txt           # CMake ビルド定義

📜 ライセンス / License

MIT ライセンスの下で配布されています。詳細は LICENSE ファイルをご覧ください。


llama.cpp_ Vullkan — High-Performance, Agentic & Accelerated Inference for AMD Hardware
Downloads last month
44
GGUF
Model size
32B params
Architecture
qwen3moe
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support