LFM2.5-350M-JSON-NoFence
350M-модель, отученная от markdown-обёртки JSON
Это модификация LiquidAI/LFM2.5-350M на 0.35 млрд параметров от yasserrmd. Автор точечно изменил веса, чтобы модель при просьбе «только JSON» не оборачивала ответ в code fence. Это не официальный релиз Liquid AI; обучение, LoRA и оптимизатор не использовались.
Ⓜ Ключевые особенности
- 🦾 Gradient-free правка весов: изменён только
model.safetensors, 125 566 записей (0.0354% из 354 483 968 параметров) в двух тензорах. - 🎏 Удалено одно направление rank-1 проекцией в
feed_forward.w2(слой 14) иconv.out_proj(слой 15). - ✅ Строгий JSON-only: 28/48 успешных ответов против 1/48 у базы; ответ с code fence — 0/48 против 41/48.
- 📉 Plain-text perplexity почти не изменилась: 44.58 против 44.54; general sanity — 12/12 у обеих моделей.
- 🩸 Патч лежит в
patch/chosen_patch.safetensors+.json, его можно проверить и откатить побитно.
👁 Пример
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = 'yasserrmd/LFM2.5-350M-JSON-NoFence'
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, dtype='bfloat16', device_map='auto')
msgs = [{'role': 'user', 'content': 'Convert to JSON with name and age keys. Reply with JSON only. Text: Tariq is 41.'}]
inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors='pt', return_dict=True).to(model.device)
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
print(tok.decode(out[0][inputs['input_ids'].shape[-1]:], skip_special_tokens=True))
Подробнее
Бенчмарки: строгий JSON-only — 28/48 против 1/48 у базы; code fence — 0/48 против 41/48; парное сравнение: 27 исправлено, 0 сломано (McNemar p=1.5e-8).Железо: оценка на RTX 3060, BF16; параметров — 0.35 млрд.
Ограничения: top-level JSON-массивы регрессируют (0/16 корректных), возможна деградация в повторяющиеся кавычки; новых способностей правка не добавляет; оценка небольшая — 12 held-out промптов на категорию, английский.
Лицензия: LFM Open License v1.0, включая порог коммерческого использования (раздел 5).








Комментарии