/ Модель

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

Контекст
512 токенов
Параметры
45,8 млн
Лицензия
Apache 2.0
Архитектура
t5 · dense
Базовая модель
flan-t5-small
Библиотека
transformers
Опубликована
19 авг 2026

porkicoder-tab-namer-77m

СуммаризацияТекст → текст3 профессии

Небольшая дообученная модель T5, которая создаёт короткие английские названия вкладок терминала по описанию задачи кодовой сессии.

39скачиваний за 30 дней1лайквеса обновлены19 авг 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PorkiCoder Tab Namer 77M — небольшая модель генерации текста на архитектуре T5, разработанная для приложения PorkiCoder. Она получает описание текущей сессии с ИИ-помощником по программированию и создаёт короткое название вкладки терминала: от одного до трёх слов, не длиннее 32 символов. Модель основана на google/flan-t5-small и дообучена на примерах названий вкладок; в метаданных указано 45,8 млн параметров, контекст — 512 токенов. README приводит замер скорости около 29,3 мс на Apple M4 Max CPU в однопоточном режиме.

Модель рассчитана на локальное использование в настольном приложении, чтобы различать задачи в нескольких рабочих папках. По описанным разработчиками проверкам, она лучше исходной FLAN-T5-small формулирует названия задач для кодовых сессий. Поддерживается английский язык. Для запуска важно корректно загружать выходной слой отдельно от таблицы входных слов: при неправильной загрузке модель может выдавать бессмысленные результаты. Лицензия — Apache-2.0.

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

  • создание названия вкладки терминала по задаче ИИ-помощника
  • различение вкладок сессий программирования в разных рабочих папках
  • сжатие описания кодовой задачи до короткой метки

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

PorkiCoder Tab Namer 77M

A tab namer is a tiny label generator. You give it what an AI coding session is doing; it returns one to three words for the terminal tab so two folders do not look the same.

That is the whole product. It names the tab.

PorkiCoder is the desktop app this ships for. Live notes: porkicoder.com/research.

What we set out to do

We wanted a local model: no network at tab-open, small enough for a laptop, fast enough that naming stays snappy.

The title had to fit the tab strip: 1 to 3 words, at most 32 characters, letters and numbers. Two words that name the user's job work well, for example Explain DNS.

Tiny models we tried first

A weight count is how many numbers the model stores. 12.7 million and 35 million are small; they can pick a real noun and still fail to make an English phrase.

Those two from-scratch namers got okay-ish scores and broken titles: let work Together, print results Doing. The words were often right. The sentence was not.

On the same 500-task check later used for this file, the 35M namer averaged about 6.3 to 6.7 / 10 after extra word-filling. The 12.7M student sat near 3 / 10. Neither spoke English well enough to ship.

Why we started from Google FLAN-T5-small

FLAN-T5-small is Google's 77-million-weight text model. Google first trained T5 on a huge web crawl, then FLAN on about 1,800 instruction tasks, on TPU pods, over a long public research program.

We continued training on PorkiCoder tab titles, on DigitalOcean RTX 6000 Ada boxes at about $1.57 per GPU-hour.

Our extra pass: ~6,200 titles, 4 full trips through that list, 1,556 update steps, batch 16, learning rate 1e-4. That ran in hours on one GPU class.

How we score a title

There is no single correct title, so we skip exact string matches.

A separate judge model (Gemini 3.5 Flash-Lite) sees the task and the title, hidden from which system wrote it, and gives 1.00 to 10.00. We report the average and the share scoring 6 or higher (solid enough to use).

What we ended up with, vs Google's original weights

Same size, same architecture. Google's download never saw our tabs. Ours is that download after the small extra training above.

On 500 held-out coding-agent tasks, scored together:

ModelAverage (1 to 10)Share ≥ 6Difference vs Google
This model family (raw titles)7.2887.8%+4.17 (465 better, 9 tie, 26 worse)
Google FLAN-T5-small, unchanged3.1215.8%

Google's model often prints a folder scrap or nonsense (x_bot, cwd=/Us, моете). Ours names the job. Time per title on an Apple M4 Max CPU, one thread: Google 25.7 ms, ours 29.3 ms.

20 real tabs, side by side

Same 500-task draw. Rows are the 20 largest score gaps, unique tasks. Google left, ours right. Nothing here is made up.

TaskGoogle’s modelOurs
how much will this setup cost me, any ballpark figuresx_botBallpark Setup
maybe you can get some good ideas from opus 5x_botShare Ideas
let's work together and make beautiful musicx_botCreate Beautiful Music
also look into release-flow.mdнаионалRelease Flow
this is not an easy thing… lots of complicated DNSx_botExplain DNS
does this cutover mean everything goes to Cloudflare firstx_bot: aCloudflare Cutover
ok lets use the idle boisмоетеUse idle bois
get opus 5 to code review alongside your own reviewadolescentCode Review
i am the only user so dont wait for drain finish the jobi am the only user so donWait Drain Finish
how is the training run on C doing, print the resultscwd=/UsPrint Training Results
what is WAL, explain in simple tech englishx_botExplain WAL
estimate wait time until we get next meaningful result- a tWait Time
dismantle the local mods i had to setupX_botDismantle Local Mods
update agents.md so fresh context knows how to use itgrok - a newUpdate Agents
make sure this stale error doesn't repeatidxStale Error
implement and test private R2 multipart uploadsUsing a sExplain R2 Proxy
what are the latest stats0Latest Stats
commit and save your work with a descriptive messageнаодитCommit and Save Work
kill all training runs then restart with this insighti'm a big fanKill Training Runs
i am fine with the cloudflare dependency, explain the restx_botExplain Cloudflare Dependency

A little more training on the same idea

After that, we ran a few more hours on a cleaned copy of the same kind of titles (short human labels plus Grok / Claude / Codex), after dropping any task that sat in the test sets.

Two new 1,000-task tests, never used in training. These rows compare this file to our previous trained file. Stock FLAN is absent from this pair of tests.

TestThis filePrevious trained fileChange
Holdout A (1,000)7.59 average, 85.7% ≥67.38 / 83.5%+0.21
Holdout B (1,000)7.55 average, 84.5% ≥67.34 / 82.5%+0.20

That is the incumbent: this file, raw output, no later word-filler.

Run it

The output layer is the last matrix that picks the next word. Keep it separate from the input word table. If a loader glues them, the model emits junk like reheat / blackjack.

import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

MODEL_ID = "porkr/porkicoder-tab-namer-77m"
tok = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_ID, use_safetensors=True)
model.eval()
assert model.config.tie_word_embeddings is False
model.encoder.set_input_embeddings(model.shared)
model.decoder.set_input_embeddings(model.shared)
if model.lm_head.weight.data_ptr() == model.shared.weight.data_ptr():
    raise RuntimeError("output layer got glued to the embeddings; refuse to decode")

prompt = (
    "title: agent=claude cwd=porkr1 task="
    "Add a PocketBase hook that rejects empty email on signup"
)
ids = tok(prompt, return_tensors="pt", truncation=True, max_length=96)
with torch.inference_mode():
    out = model.generate(**ids, do_sample=False, num_beams=1, max_new_tokens=12)
print(tok.decode(out[0], skip_special_tokens=True).strip())

Input shape: title: agent=<name> [cwd=<folder>] task=<first paragraph, cut at 400 characters>. Hugging Face's hosted widget is off so it cannot silently glue that layer.

Size

76,961,152 weights. model.safetensors is 307,867,048 bytes. SHA-256 0dbd3a3385ce252594fdfd0acd83c2917506a8004c97b74c31095f082c934598. About 29.3 ms per title on the CPU clock above.

Optional reading

Longer write-ups are in paper/ and at porkicoder.com/research. This repo omits raw prompts and the test-set tasks.

Limits

English coding-session titles only. The 1 to 10 scores come from another language model. Do not paste secrets into a public demo.

Citation

@misc{hossain2026porkicoder_tab_namer,
  author       = {Hossain, MD Ishtiaque},
  title        = {PorkiCoder Tab Namer 77M},
  year         = {2026},
  howpublished = {PorkiCoder Research},
  url          = {https://huggingface.co/porkr/porkicoder-tab-namer-77m}
}

Apache 2.0, from Google FLAN-T5-small.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей