/ Модель

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

Контекст
4 096 токенов
Лицензия
Apache 2.0
Архитектура
mpt · dense
Базовая модель
replit-code-v1_5-3b
Опубликована
5 сен 2024

replit-code-1.5

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

Модель Replit на 3,3 млрд параметров в формате GGUF для автодополнения и продолжения кода на 30 языках программирования.

356скачиваний за 30 дней9лайковвеса обновлены6 ноя 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Replit Code v1.5 — языковая модель Replit для автодополнения и продолжения программного кода. В этом репозитории размещены файлы модели в формате GGUF; исходная модель основана на архитектуре MPT и содержит 3,3 млрд параметров.

Модель обучалась на коде 30 языков программирования, а также на отфильтрованных текстах из Markdown, reStructuredText и Stack Exchange. Контекст составляет 4096 токенов. Она подходит для дополнения кода по его началу и генерации продолжения в редакторах и приложениях для разработки. Веса представлены в вариантах GGUF BF16 и F32.

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

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

  • автодополнение кода в редакторе
  • генерация продолжения функции по началу кода
  • подсказки кода на Python и JavaScript
  • продолжение кода на языках Rust, Go и C++
  • создание локального помощника по генерации кода

Ограничения

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

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

Replit Code V-1.5 3B - GGUF

Description

This repo contains GGUF format model files for Replit Code V-1.5 3B.

Model Description

Replit Code v1.5 is a 3.3B parameter Causal Language Model focused on Code Completion.

The model is trained in bfloat16 on 1T tokens of code (~200B tokens over 5 epochs, including linear cooldown) for 30 programming languages from a subset of permissively licensed code from Bigcode's Stack Dedup dataset, a filtered natural language sample from Markdown and reStructuredText subsets from the same Stack Dedup dataset, and a dev-oriented sample from RedPajama's StackExchange dataset sourced from the Stack Exchange Data Dump by Stack Exchange Inc.

The 30 programming languages are:

Java, JavaScript, C, PHP, Python, C++, C#, TypeScript, Go, CSS, HTML, Rust, Ruby, Swift, Scala, Shell, Lua, Perl, Haskell, JSX, Julia, Common Lisp, OCaml, Solidity, Scheme, R, Zig, SQL, Racket, D

The context size of the model is 4096 tokens. We use the GPTNeoX tokenizer with a custom trained and optimized vocabulary of 32768 tokens. This custom vocabulary led to single-digit % points on compression while maintaining or improving coverage on our training corpus.

The model has been trained on the MosaicML platform on 128 H100-80GB GPUs using their LLM Foundry and Composer training library built on top of PyTorch.

Dependencies

You will need to install the latest versions of the following dependencies:

einops
torch
transformers

How to Use

Generation

You can generate code using the transformers library as follows:

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('replit/replit-code-v1_5-3b', trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained('replit/replit-code-v1_5-3b', trust_remote_code=True)

x = tokenizer.encode('def fibonacci(n): ', return_tensors='pt')
y = model.generate(x, max_length=100, do_sample=True, top_p=0.95, top_k=4, temperature=0.2, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id)

# decoding
generated_code = tokenizer.decode(y[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(generated_code)

Experiment with different decoding methods and parameters to get the best results for your use case.

Using Triton Implementation of Flash Attention

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig

config = AutoConfig.from_pretrained(
    "replit/replit-code-v1_5-3b",
    trust_remote_code=True
)
config.attn_config['attn_impl'] = 'triton'

# load model
tokenizer = AutoTokenizer.from_pretrained('replit/replit-code-v1_5-3b', trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained('replit/replit-code-v1_5-3b', config=config, trust_remote_code=True)
model.to(device='cuda:0', dtype=torch.bfloat16)

# forward pass
x = tokenizer.encode('def fibonacci(n): ', return_tensors='pt').to(device='cuda:0')
x = x.to(device='cuda:0')
y = model.generate(x, max_length=100, do_sample=True, top_p=0.95, top_k=4, temperature=0.2, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id)


# decoding
generated_code = tokenizer.decode(y[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(generated_code)

Experiment with different decoding methods and parameters to get the best results for your use case. We recommend experimenting with temperature and reptition_penaltyfor optimal performance on your use case!

Intended Use

Replit intends this model be used by anyone as a foundational model for application-specific fine-tuning without strict limitations on commercial use.

The model is trained specifically for code completion tasks.

Limitations

The pre-training dataset may have contained offensive or inappropriate content even after applying data cleansing and toxicity and profanity filters, and such content may be reflected in model generated text. We recommend that users exercise reasonable caution when using in production systems. Do not use for any applications that may cause harm or distress to individuals or groups.

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

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

GPU в ailist

llama.cpp

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

Подбираем GPU…

Класс архитектуры
MPTForCausalLM
Ревизия весов
5613bc2

0 моделей