/ Модель

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

Контекст
2 048 токенов
Параметры
101 млн
Лицензия
Apache 2.0
Архитектура
llama · dense
Библиотека
transformers
Опубликована
27 июл 2026

wisp-coder-110m

Генерация текстаТекст → текст3 профессии

Небольшая модель Philip John Basile для дополнения кода по контексту до и после пропуска и исследования FIM с multi-token prediction.

449скачиваний за 30 дней2лайкавеса обновлены11 сен 2026

Бенчмарки

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

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

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

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

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

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

Wisp Coder 110M — небольшая модель генерации кода, разработанная Philip John Basile. Она обучена с нуля для дополнения кода в редакторе: получает префикс и суффикс вокруг пропуска и генерирует недостающий фрагмент. Обучение включает fill-in-the-middle для большей части токенизированных фрагментов и модуль multi-token prediction для предсказания нескольких токенов вперёд.

Основная часть модели — плотный декодер LlamaForCausalLM на 100,7 млн параметров; вместе с модулем MTP — 108,2 млн. Контекст составляет 2048 токенов. Основную модель можно запускать через Transformers или MLX-LM; модуль MTP требует отдельной среды выполнения MLX и не активируется обычными загрузчиками.

Модель предназначена для экспериментов с дополнением кода, FIM и спекулятивным декодированием, а не для чата, рефакторинга или агентных задач. Качество генерации ограничено: автор не заявляет о преимуществе в сравнении коротких пропусков или об ускорении MTP в производстве. Лицензия — Apache-2.0; сгенерированный код следует проверять перед использованием.

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

  • вставка недостающего фрагмента кода по префиксу и суффиксу
  • эксперименты с автодополнением кода в редакторе
  • изучение fill-in-the-middle для языковых моделей кода
  • исследование multi-token prediction и спекулятивного декодирования на Apple Silicon

Ограничения

Контекст ограничен 2048 токенами, а качество дополнений невысоко; модель не настроена для чата или следования инструкциям. Для модуля MTP нужна специальная среда выполнения MLX; преимущество качества и ускорение в производстве не подтверждены.

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

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

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

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

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

Открыть на Hugging Face
pip install "torch==2.13.0" "transformers==5.14.1"
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

repo = "philipjohnbasile/wisp-coder-110m"
revision = "186479fd8c1eb767e0d886014fb78b3426dc509a"  # pinned weights/tokenizer
tokenizer = AutoTokenizer.from_pretrained(repo, revision=revision)
model = AutoModelForCausalLM.from_pretrained(
    repo, revision=revision, dtype=torch.float32, trust_remote_code=False,
).eval()
inputs = tokenizer("def is_even(n):\n    return ", return_tensors="pt", add_special_tokens=False)
with torch.inference_mode():
    output = model.generate(**inputs, max_new_tokens=32, do_sample=False,
                            pad_token_id=tokenizer.pad_token_id)
print(tokenizer.decode(output[0], skip_special_tokens=True))
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("philipjohnbasile/wisp-coder-110m")
tok = AutoTokenizer.from_pretrained("philipjohnbasile/wisp-coder-110m")
print(tok.decode(model.generate(**tok("def quicksort(arr):", return_tensors="pt"),
                                max_new_tokens=64)[0]))
# PSM: prefix, suffix, then generate the middle
prompt = f"<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>"
import os
import sys
from huggingface_hub import snapshot_download
from tokenizers import Tokenizer

package = snapshot_download(
    "philipjohnbasile/wisp-coder-110m",
    local_dir=os.path.abspath("wisp-coder-110m-package"),
)
sys.path.insert(0, package)
from wisp_mtp_reference import WispMTPReferenceRuntime

tok = Tokenizer.from_file(os.path.join(package, "tokenizer.json"))
ids = tok.encode(prompt, add_special_tokens=False).ids
runtime = WispMTPReferenceRuntime.load(package)
result = runtime.verify_greedy_parity(ids, max_new_tokens=16, depth=2)
print(result["mtp_route"])
@software{wisp_coder,
  title  = {Wisp: fill-in-the-middle and native multi-token prediction in a small code model},
  year   = {2026},
  url    = {https://huggingface.co/philipjohnbasile/wisp-coder-110m}
}

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

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

GPU в ailist

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

Нельзя запустить

MLX-модели работают только на Apple Silicon.

Класс архитектуры
LlamaForCausalLM
Ревизия весов
ad6d201

0 моделей