/ Модель

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

Контекст
32 768 токенов
Параметры
257 млн
Лицензия
Gemma
Архитектура
gemma3_text · dense
Базовая модель
gemma-3-270m-it
Опубликована
13 июн 2026

GemCod-Zircon-270M-XM

Генерация текстаТекст → текст

Экспериментальная компактная модель Gemma для дополнения кода по контексту и многоходового диалога при разработке.

18скачиваний за 30 дней1лайквеса обновлены15 июн 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GemCod-Zircon-270M-XM — компактная текстовая модель генерации кода, разработанная DireDreadlord и дообученная методом SFT на базе Google Gemma 3 270M Instruct. Это экспериментальная версия семейства GemCod с архитектурой Gemma 3 и примерно 257 млн параметров. Она предназначена для дополнения кода по контексту между фрагментами (Fill In the Middle, FIM), генерации фрагментов кода и многоходового диалога при разработке и отладке. Модель обучалась на наборе Etherll/code-fim-v2 и поддерживает чатовый формат; заявлена работа с основными языками программирования. Контекст модели — до 32 768 токенов.

Малый размер позволяет запускать модель на доступном GPU, однако качество генерации общего кода уступает стандартным моделям GemCod из-за специализированного форматирования и обучающих данных. Вариант XM обучался лишь на 1 500 шагах, поэтому может ошибаться, особенно при длинной генерации. Лицензия указана как Gemma; перед использованием следует соблюдать её условия.

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

  • дополнение кода внутри существующего фрагмента
  • генерация коротких фрагментов кода
  • поиск и исправление ошибок в коде в диалоге
  • получение подсказок по программированию через чат

Ограничения

Это экспериментальная версия, обученная на 1 500 шагах; модель может допускать ошибки, особенно при длинной генерации. Для общих задач генерации кода её качество уступает стандартным моделям GemCod.

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

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

Открыть на Hugging Face

GemCod270M - Zircon - XM (gemma-270m-it-code v6.1.1 experimental)

GemCod logo

GemCod is a lightweight code generation model finetuned using SFT on the base gemma-270m-it (https://huggingface.co/google/gemma-3-270m-it) model. It offers accurate and quick(ish) code snippet generation in all major programming languages. It's small size (270M parameters) allows it to run comfortably on laptop grade GPUs.

The Zircon model differs from the standard GemCod architecture by having custom templating for FIM(Fill In the Middle) tasks as well as having multi-turn chat capabilities. This allows the model to act more like an embedded agent to assist in the generation and debugging of code during development.

This model has inferior generation capabilities on general coding tasks due to its specialized formatting and dataset. However, it represents a leap forward in the areas of general agentic architecture within the GemCod family.

This is the XM(Experimental) variant of the model which is trained on only 1,500 steps on SFT; it may give slightly incorrect outputs on long-form generation.


Estimated parameters: ~270M

Architecture: Gemma3

Intended use: FIM(Fill In the Middle) code completion, Multi-turn Chat


Training data

Usage

Install requirements:

pip install -r requirements.txt
pip install transformers datasets accelerate safetensors

Usage (Hugging Face Hub)

You can load it directly from HuggingFace:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM


device = "cuda" if torch.cuda.is_available() else "cpu"

model_path = "DireDreadlord/GemCod-Zircon-270M-XM"

tokenizer = AutoTokenizer.from_pretrained(model_path)

model = AutoModelForCausalLM.from_pretrained(model_path)
model.to(device)
model.eval()

if tokenizer.pad_token is None:
    tokenizer.pad_token = tokenizer.eos_token

model.resize_token_embeddings(len(tokenizer))


chat_template = """{% for message in messages %}{% if message['role'] == 'user' %}User: {{ message['content'] }}
{% elif message['role'] == 'assistant' %}Assistant: {{ message['content'] }}
{% endif %}{% endfor %}"""
tokenizer.chat_template = chat_template

def generate_code(prompt, max_tokens=512) -> str:
    messages = [
        {
            "role": "user",
            "content": prompt
        }
    ]
    
    formatted_prompt = tokenizer.apply_chat_template(
        messages,
        tokenize=False,
        add_generation_prompt=True
    )
    
    inputs = tokenizer(formatted_prompt, return_tensors="pt").to(device)
    input_length = inputs["input_ids"].shape[1]

    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=max_tokens,
            do_sample=False,
            num_beams=1,
            pad_token_id=tokenizer.eos_token_id,
            eos_token_id=tokenizer.eos_token_id,
            use_cache=False,
        )

    generated_tokens = outputs[0][input_length:]
    generated_text = tokenizer.decode(generated_tokens, skip_special_tokens=True)
    return generated_text


def test_fim(prefix, suffix, max_tokens=32):
    user = (
        "Complete the missing middle between the markers.\n"
        "PREFIX:\n" + prefix + "\n\n<FILL>\n\nSUFFIX:\n" + suffix
    )
    return generate_code(user, max_tokens=max_tokens)


def test_multiturn_chat(history, question, max_tokens=128):
    messages = []
    for role, content in history:
        messages.append({"role": role, "content": content})
    messages.append({"role": "user", "content": question})

    formatted = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
    inputs = tokenizer(formatted, return_tensors="pt").to(device)
    input_length = inputs["input_ids"].shape[1]

    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=max_tokens,
            do_sample=False,
            num_beams=1,
            pad_token_id=tokenizer.eos_token_id,
            eos_token_id=tokenizer.eos_token_id,
            use_cache=False,
        )

    gen = outputs[0][input_length:]
    return tokenizer.decode(gen, skip_special_tokens=True)


if __name__ == "__main__":
    # FIM example
    pref = "def factorial(n):"
    suf = "return n"
    print("FIM test:\n", test_fim(pref, suf))

    # multi-turn chat example
    history = [("user", "Help me write a function to implement an bubble sort algorithm."), ("assistant", "Sure - what language?")]
    print("Chat test:\n", test_multiturn_chat(history, "write it in python"))

Limitations

  • Trained for 1,500 steps only; may cause mistakes in generation.
  • Model for experimental use only; users should employ it as such under license.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей