--- license: other license_name: yandexgpt-5-lite-8b-pretrain license_link: LICENSE --- # YandexGPT-5-Lite-Pretrain Pretrain-версия большой языковой модели YandexGPT 5 Lite на 8B параметров с длиной контекста 32k токенов. Обучение модели проходило в два этапа. На первом этапе модель обучалась преимущественно на русскоязычных и англоязычных текстах общим объёмом 15T токенов с длиной контекста до 8k токенов. Состав датасета: 60% — веб-страницы, 15% — код, 10% — математика, остальное — другие специфичные данные, в том числе сгенерированная с помощью наших моделей синтетика и датасеты наших сервисов, например Яндекс Переводчика и база фактов Поиска. На втором этапе, который мы назвали Powerup, модель обучалась на высококачественных данных объёмом 320B токенов. Состав Powerup-датасета: 25% — веб-страницы, 19% — математика, 18% — код, 18% — образовательные данные, остальное — синтетика, датасеты сервисов и прочие качественные тексты. На этом этапе мы увеличили длину контекста до 32k токенов. Более подробно — в нашей статье на Хабре. ## Бенчмарки В своей категории pretrain-версия YandexGPT 5 Lite достигает паритета с мировыми SOTA по ряду ключевых бенчмарков для pretrain-моделей. ## Как использовать Модель можно запустить через HF Transformers: ```python from transformers import AutoModelForCausalLM, AutoTokenizer MODEL_NAME = "yandex/YandexGPT-5-Lite-8B-pretrain" tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, legacy=False) model = AutoModelForCausalLM.from_pretrained( MODEL_NAME, device_map="cuda", ) input_text = "Кто сказал тебе, что нет на свете настоящей," input_ids = tokenizer(input_text, return_tensors="pt").to("cuda") outputs = model.generate(**input_ids, max_new_tokens=19) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` Или через vLLM: ```python from vllm import LLM, SamplingParams # MODEL_NAME = "yandex/YandexGPT5-8B-base" MODEL_NAME = "/home/serv01/repos/YandexGPT-5-Lite-8B-pretrain" sampling_params = SamplingParams( temperature=0.3, max_tokens=18, ) llm = LLM( MODEL_NAME, tensor_parallel_size=1, ) input_texts = ["Кто сказал тебе, что нет на свете настоящей,"] outputs = llm.generate(input_texts, use_tqdm=False, sampling_params=sampling_params) for i in range(len(input_texts)): print(input_texts[i] + outputs[i].outputs[0].text) ``` ## Как дообучить под свои задачи Будет дополнено.