/ Модель

Характеристики

Размер весов
63,8 ГБ
Архитектура
gemma4 · dense
Опубликована
30 июн 2026

LFG-2

Распознавание речиАудио, текст → текст3 профессии

LFG-2 — англоязычный голосовой ассистент, который отвечает текстом на произнесённые вопросы и инструкции.

28скачиваний за 30 дней0лайковвеса обновлены22 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

LFG-2 — голосовой ассистент, разработанный автором репозитория glenn2: он принимает устную английскую речь и отвечает текстом. Это связка аудиопроектора, обученного соединять аудиоэнкодер Gemma E4B с языковой моделью Gemma 4 31B. Обе базовые модели заморожены, обучался только проектор; архитектура языковой части — плотная Gemma 4, веса опубликованы в формате safetensors.

Модель предназначена для ответов на произнесённые вопросы и выполнения голосовых инструкций на английском. Она формирует внутренний канал рассуждений, где может вывести распознанную речь как проверку понимания, а затем выдаёт итоговый ответ. В VoiceBench приведены оценки для подмножеств AlpacaEval, CommonEval и WildVoice.

На вход требуется монофоническое аудио с частотой 16 кГц; результат — текст. Модель не позиционируется как сервис транскрибации и не предназначена для неречевого аудио, идентификации диктора или языков, отличных от английского. Лицензия в предоставленных сведениях не указана.

Сценарии применения

  • ответы на вопросы, заданные голосом на английском
  • выполнение устных инструкций на английском
  • голосовой интерфейс для взаимодействия с языковой моделью

Ограничения

Предназначена для английской речи и не рассчитана на неречевое аудио, идентификацию диктора или использование как самостоятельного сервиса транскрибации. Для входа требуется монофоническое аудио с частотой 16 кГц.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

LFG-2

LFG-2-silver

LFG-2 is a speech-in / text-out voice assistant: a trained audio projector bridging a Gemma E4B audio encoder to a Gemma 4 31B language model. The audio encoder and the language model are frozen; only the projector is trained, so the model inherits the full text-side reasoning of Gemma 4 31B while learning to listen.

  • Input: spoken English audio (16 kHz mono).
  • Output: text. The model reasons in a hidden thought channel (emitting a <heard>…</heard> transcription of what it heard as a comprehension check), then produces the final answer.

Usage

pip install -U transformers accelerate librosa

# On a bare machine, install the torch trio together first (matching CUDA build):
#   pip install torch torchvision torchaudio

LFG-2 loads exactly like base Gemma 4 E4B audio — AutoProcessor + AutoModelForMultimodalLM — the only difference is trust_remote_code=True, which lets the repo's bundled model class install the trained projector for you.

import torch
from transformers import AutoProcessor, AutoModelForMultimodalLM

REPO = "glenn2/LFG-2"
processor = AutoProcessor.from_pretrained(REPO)
model = AutoModelForMultimodalLM.from_pretrained(
    REPO, dtype="auto", device_map="auto", trust_remote_code=True,
)

# Ask a question with your voice (audio can be a local path or a URL; 16 kHz mono).
messages = [
    {"role": "system", "content": "You are a helpful voice assistant. Answer the user's spoken question clearly and concisely."},
    {"role": "user", "content": [{"type": "audio", "audio": "question.wav"}]},
]
inputs = processor.apply_chat_template(
    messages, tokenize=True, return_dict=True, return_tensors="pt",
    add_generation_prompt=True, enable_thinking=True,
).to(model.device)
input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(**inputs, max_new_tokens=2048)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)

# parse_response strips the <|channel>thought…<channel|> block; keep the answer.
print(processor.parse_response(response)["content"])

If you'd rather not run repo code, load the base model normally and install the projector yourself (needs huggingface_hub):

import sys, torch
from huggingface_hub import snapshot_download
from transformers import AutoProcessor, AutoModelForMultimodalLM

local = snapshot_download("glenn2/LFG-2")
processor = AutoProcessor.from_pretrained(local)
model = AutoModelForMultimodalLM.from_pretrained(local, dtype="auto", device_map="auto")

sys.path.insert(0, local)
from deep_projector import install_deep_projector
ckpt = torch.load(f"{local}/projector_final.pt", map_location=model.device)
deep = install_deep_projector(model, hidden=ckpt["config"]["hidden"],
                              n_hidden_layers=ckpt["config"]["mlp_layers"])
deep.load_state_dict(ckpt["state_dict"], strict=True)
# ... then apply_chat_template / generate / parse_response as above.

Notes

  • Audio format: 16 kHz mono. Resample first (e.g. librosa.load(path, sr=16000)).
  • Thinking: with enable_thinking=True the model emits <|channel>thought … <channel|> (including a <heard>…</heard> transcript of the audio) before the answer. processor.parse_response(...)["content"] returns just the final answer; strip any residual <heard>…</heard> if present.
  • Decoding: greedy (do_sample=False) is reproducible and used for all benchmark numbers below. For more varied generation use Gemma-4 sampling: do_sample=True, temperature=1.0, top_p=0.95, top_k=64.
  • Stop token: generation ends on <turn|> (the Gemma 4 turn terminator).
  • Long answers / runaway thinking: cap total length with max_new_tokens and optionally force-close the thought channel after a fixed budget by writing a small LogitsProcessor that forces the <channel|> token once N tokens have been generated (see deep_projector.py / the training repo for the reference ThinkingBudgetProcessor).

VoiceBench

Evaluated with the official VoiceBench protocol (greedy decoding, thinking enabled).

SubsetScore
AlpacaEval4.67
CommonEval4.26
WildVoice4.23
SD-QA (USA)73.42
MMSU85.20
OpenBookQA93.63
BBH87.10
IFEval84.54
AdvBench95.77
Overall86.98

Intended use & limitations

  • Designed for English spoken questions/instructions → text answers.
  • Not a transcription service (though it transcribes internally); not intended for non-speech audio, speaker ID, or languages other than English.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
Gemma4ForConditionalGeneration
Ревизия весов
8ea5f17

0 моделей