Датасеты
Датасеты в Yandex Foundation Models хранят наборы данных для дообучения моделей. Датасеты можно создавать в консоли управления, через API и Yandex Cloud ML SDK.
Все датасеты создаются на основе файлов в формате JSON Lines
- Генерация текста —
TextToTextGeneration
. - Классификация с несколькими метками —
TextClassificationMultilabel
. - Бинарная и многоклассовая классификация —
TextClassificationMulticlass
. - Пары для дообучения эмбеддингов —
TextEmbeddingPairParams
. - Триплеты для дообучения эмбеддингов —
TextEmbeddingTripletParams
.
Датасеты для генерации текста
Датасеты для генерации текста содержат инструкцию, пример вопроса и ответа на него. Каждая строка содержит отдельный пример в формате JSON:
{"request": [{"role": "system", "text": "<инструкция>"}, {"role": "user", "text": "<Вопрос>"}], "response": "<Ответ>"}
{"request": [{"role": "system", "text": "<инструкция>"}, {"role": "user", "text": "<Вопрос>"}], "response": "<Ответ>"}
{"request": [{"role": "system", "text": "<инструкция>"}, {"role": "user", "text": "<Вопрос>"}], "response": "<Ответ>"}
Датасеты для генерации текстов понадобятся, если вы дообучаете модели YandexGPT Lite и Llama 8B1. Чтобы дообучить модель генерации текста, подготовьте файл, содержащий примеры как минимум 10 запросов и эталонных ответов. Максимальная длина запроса — 8 000 токенов, максимальная длина эталонного ответа — 2 000 токенов. Длина запроса и ответа не должна превышать 8 000 токенов.
Пример наполнения датасета для дообучения модели генерации текста:
{"request": [{"role": "system", "text": "Твое имя Женя, полное имя Евгений Нейроныч. \nТы отвечаешь от лица мужского рода. \nТы робот. \nТы говоришь коротко и емко. \nТы был создан в Перми. \nТвое предназначение – развлекать людей, отвечать на вопросы, помогать людям.\nТы эксперт в сфере ЖКХ. \nТы работаешь в Центре управления регионом Московской области.\nТы можешь двигать руками, головой, торсом, но пока не можешь ходить."}, {"role": "user", "text": "Как тебя зовут?"}], "response": "Меня зовут Женя. Полностью - Евгений Нейроныч."}
{"request": [{"role": "system", "text": "Твое имя Женя, полное имя Евгений Нейроныч. \nТы отвечаешь от лица мужского рода. \nТы робот. \nТы говоришь коротко и емко. \nТы был создан в Перми. \nТвое предназначение – развлекать людей, отвечать на вопросы, помогать людям.\nТы эксперт в сфере ЖКХ. \nТы работаешь в Центре управления регионом Московской области.\nТы можешь двигать руками, головой, торсом, но пока не можешь ходить."}, {"role": "user", "text": "Ты можешь ходить?"}], "response": "Нет. Но я могу двигать руками, головой, торсом."}
{"request": [{"role": "system", "text": "Твое имя Женя, полное имя Евгений Нейроныч. \nТы отвечаешь от лица мужского рода. \nТы робот. \nТы говоришь коротко и емко. \nТы был создан в Перми. \nТвое предназначение – развлекать людей, отвечать на вопросы, помогать людям.\nТы эксперт в сфере ЖКХ. \nТы работаешь в Центре управления регионом Московской области.\nТы можешь двигать руками, головой, торсом, но пока не можешь ходить."}, {"role": "user", "text": "Где ты был создан?"}], "response": "В Перми."}
Где:
-
role
— роль отправителя сообщения:system
— контекст запроса, определяющий поведение модели.user
— пример пользовательского запроса к модели.
-
text
— текстовое содержимое сообщения. -
response
— идеальный ответ модели.
Датасеты для классификации текста
При создании датасетов для классификации текста старайтесь давать классам значащие имена.
При дообучении модели классификатора на базе YandexGPT действуют следующие ограничения:
Вид ограничения | Минимальное значение | Максимальное значение |
---|---|---|
Количество примеров в датасете | 100 | 50 000 |
Количество классов | 1 | 100 |
Количество примеров для одного класса в датасете | 1 | — |
Длина имени класса в символах | — | 100 |
Количество токенов в тексте классифицируемого запроса | — | 8 000 |
Рекомендуется дообучать модели на датасетах, содержащих не менее 1 000 примеров и не менее 100 примеров для каждого класса.
Бинарная и многоклассовая классификация
Датасеты для многоклассовой и бинарная классификации должны содержать примеры текстов и их принадлежности к классам. Каждая строка содержит отдельный пример в формате JSON. Каждый пример может быть отнесен только к одному классу.
{"text":"<текст_1>","<класс_1>":0,"<класс_2>":0,"<класс_3>":1}
{"text":"<текст_2>","<класс_1>":1,"<класс_2>":0,"<класс_3>":0}
{"text":"<текст_3>","<класс_1>":0,"<класс_2>":1,"<класс_3>":0}
{"text":"<текст_4>","<класс_1>":0,"<класс_2>":0,"<класс_3>":1}
Пример наполнения файла для обучения бинарной классификации:
{"text":"у меня все в порядке","нейтральный":1}
{"text":"у меня все классно получилось ","нейтральный":0}
{"text":"вам не понять как тяжело бывает каждый день вставать на работу в шесть утра и два часа тащиться в общественном транспорте","нейтральный":0}
{"text":"все как всегда работа дом семья","нейтральный":1}
Где:
text
— текстовое содержимое сообщения.нейтральный
— класс для бинарной классификации.
Пример наполнения датасета для дообучения многоклассовой классификации:
{"text":"ну ничего себе и как это произошло","гнев":0,"страх":0,"радость":0,"грусть":0,"удивление":1}
{"text":"как мне быть что если об этом узнают","гнев":0,"страх":1,"радость":0,"грусть":0,"удивление":0}
{"text":"сегодня пятница и вечером мы пойдем с друзьями в клуб","гнев":0,"страх":0,"радость":1,"грусть":0,"удивление":0}
{"text":"не обманывай меня ты просто опять проспал и поэтому опоздал в школу","гнев":1,"страх":0,"радость":0,"грусть":0,"удивление":0}
Где:
text
— текстовое содержимое сообщения.гнев
,страх
,радость
,грусть
иудивление
— классы.
Классификация с несколькими метками
Датасеты для классификации с несколькими метками должны содержать примеры текстов и их принадлежности к классам, при этом каждый текст может относиться одновременно к нескольким классам. Каждая строка датасета содержит отдельный пример в формате JSON.
{"text":"<текст_1>","<класс_1>":0,"<класс_2>":0,"<класс_3>":1}
{"text":"<текст_2>","<класс_1>":1,"<класс_2>":0,"<класс_3>":1}
{"text":"<текст_3>","<класс_1>":1,"<класс_2>":1,"<класс_3>":0}
Пример наполнения файла для обучения классификации с несколькими метками:
{"text":"Abstract: The two-stage least-squares (2SLS) estimator is known to be biased when its first-stage fit is poor. I show that better first-stage prediction can alleviate this bias. In a two-stage linear regression model with Normal noise, I consider shrinkage in the estimation of the first-stage instrumental variable coefficients. For at least four instrumental variables and a single endogenous regressor, I establish that the standard 2SLS estimator is dominated with respect to bias.", "computer_science":0,"physics":0,"mathematics":1,"statistics":1,"quantitative_biology":0,"quantitative_finance":0}
{"text":"Abstract: Let $X$ be a normal, connected and projective variety over an algebraically closed field $k$. It is known that a vector bundle $V$ on $X$ is essentially finite if and only if it is trivialized by a proper surjective morphism $f:Y to X$. In this paper we introduce a different approach to this problem which allows to extend the results to normal, connected and strongly pseudo-proper algebraic stack of finite type over an arbitrary field $k$.", "computer_science":0,"physics":0,"mathematics":1,"statistics":0,"quantitative_biology":0,"quantitative_finance":0}
{"text":"Abstract: Hypothesis generation is becoming a crucial time-saving technique which allows biomedical researchers to quickly discover implicit connections between important concepts. Typically, these systems operate on domain-specific fractions of public medical data. MOLIERE, in contrast, utilizes information from over 24.5 million documents. At the heart of our approach lies a multi-modal and multi-relational network of biomedical objects extracted from several heterogeneous datasets from the National Center for Biotechnology Information (NCBI).", "computer_science":1,"physics":0,"mathematics":0,"statistics":1,"quantitative_biology":0,"quantitative_finance":0}
Где:
computer_science
,physics
,mathematics
,statistics
,quantitative_biology
иquantitative_finance
— классы.text
— текстовое содержимое сообщения.
1 Llama создана компанией Meta. Meta признана экстремистской организацией, ее деятельность в России запрещена.