/ Модель

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

Контекст
16 384 токена
Параметры
1,3 млрд
Лицензия
Apache 2.0
Архитектура
llama · dense
Опубликована
24 дек 2023

mojo-coder-1B

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

Альфа-модель на базе DeepSeek-Coder-1.3B для дополнения и редактирования кода в режиме Fill-in-the-Middle.

35скачиваний за 30 дней6лайковвеса обновлены24 дек 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mojo-coder-1B — альфа-модель для генерации кода, разработанная lzumot на основе DeepSeek-Coder-1.3B и дообученная на наборе mcysqrd/mojo_code. Она предназначена для режима Fill-in-the-Middle (FIM), когда модель дополняет или редактирует фрагмент кода внутри уже написанного текста, например в качестве помощника по автодополнению кода в редакторе. Модель имеет плотную архитектуру LlamaForCausalLM, содержит 1,3 млрд параметров и поддерживает контекст до 16 384 токенов. Репозиторий содержит веса в формате safetensors, лицензия — Apache-2.0.

Модель ориентирована на FIM-сценарии и не позиционируется как универсальный ассистент для вопросов и ответов: автор указывает, что обучение ограничено использованием в стиле FIM-копилота, а поддержка Q&A планировалась для будущих версий. Это альфа-версия, поэтому качество может быть ограниченным; разработчик предлагает использовать её через inference endpoint и расширение для VS Code.

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

  • автодополнение кода внутри существующего фрагмента
  • заполнение пропусков между частями кода
  • редактирование кода в стиле FIM-копилота
  • интеграция генерации кода в расширение VS Code

Ограничения

Это альфа-версия, обученная только для FIM-сценариев; поддержка вопросов и ответов в README обозначена как возможная функция будущих версий. Автор ожидает улучшения производительности в последующих версиях.

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

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

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

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

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

Открыть на Hugging Face

FIM training over deepseek-coder-1.3B using a mojo-code dataset. This is an alpha version. It is trained only for FIM co-pilot style usage. later versions should have Q&A added as well as better performance. please leave your comments to help improve it. the recipe for this was based on this template from https://huggingface.co/blog/personal-copilot

tokenizer = AutoTokenizer.from_pretrained(merged_model_path,trust_remote_code=True,use_fast=True)
model = AutoModelForCausalLM.from_pretrained(
        merged_model_path,
        device_map={"": 0},
        use_cache=True,
        trust_remote_code=True,
        attn_implementation="flash_attention_2",
        torch_dtype=torch.bfloat16
    )

input_text = """<|fim▁begin|> 
from algorithm import parallelize, vectorize
from benchmark import Benchmark
from complex import ComplexSIMD, ComplexFloat64
from math import iota
from os import env
from python import Python
from python.object import PythonObject
from runtime.llcl import num_cores, Runtime
from tensor import Tensor
from utils.index import Index


alias float_type = DType.float64
alias simd_width = simdwidthof[float_type]()

alias width = 960
alias height = 960
alias MAX_ITERS = 200

alias min_x = -2.0
alias max_x = 0.6
alias min_y = -1.5
alias max_y = 1.5

fn mandelbrot_kernel_SIMD[
    simd_width: Int
](c: ComplexSIMD[float_type, simd_width]) -> SIMD[float_type, simd_width]:
    let cx = c.re
    let cy = c.im
    var x = SIMD[float_type, simd_width](0)
    var y = SIMD[float_type, simd_width](0)
    var y2 = SIMD[float_type, simd_width](0)
    var iters = SIMD[float_type, simd_width](0)

    var t: SIMD[DType.bool, simd_width] = True
    for i in range(MAX_ITERS):
        if not t.reduce_or():
            break
        y2 = y*y
        y = x.fma(y + y, cy)
        t = x.fma(x, y2) <= 4
        x = x.fma(x, cx - y2)
        iters = t.select(iters + 1, iters)
    return iters

fn compare():
    let t = Tensor[float_type](height, width)

    @parameter
    fn worker(row: Int):
        let scale_x = (max_x - min_x) / width
        let scale_y = (max_y - min_y) / height
    <|fim▁hole|> 
fn main():
    compare()
<|fim▁end|>"""

inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_length=547+200)
print(tokenizer.decode(outputs[0], skip_special_tokens=True)[len(input_text):])

def stream(user_prompt):
    runtimeFlag = "cuda:0"
    inputs = tokenizer([user_prompt], return_tensors="pt").to(runtimeFlag)
    streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
    _ = model.generate(**inputs, streamer=streamer, max_new_tokens=200)

stream(input_text)

also try to use an inference endpoint and use a VS-Code extension

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей