Skip to content

Commit

Permalink
Readme and docs updated
Browse files Browse the repository at this point in the history
  • Loading branch information
EvilFreelancer committed Dec 21, 2024
1 parent b7c4530 commit 841e296
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 7 deletions.
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,18 @@ Language Models (LLM).

Обладает следующими возможностями:

- Единая конфигурация для подготовки датасетов, запуска обучения и инференса в формате YAML;
- Единая конфигурация для подготовки датасетов, запуска обучения и инференса в формате YAML
- Возможно указать отдельно токенизатор и модель
- При необходимости можно описать конфигурацию модели from scratch
- Гибкая система подготовки датасетов, позволяющая скомбинировать несколько датасетов, каждый из них индивидуально
нарезать и преобразовать, после чего выполнить слияние и дедупликацию;
- Предусмотрены возможности обучения моделей с нуля (from scratch), full-train дообучения и LoRA/Peft дообучения;
нарезать и преобразовать, после чего выполнить слияние и дедупликацию
- Можно использовать датасеты типа `instruct` или `chat` произвольного формата, система преобразует их в
OpenAI-подобный chat типа messages
- Можно обучать function call модели с ролями function_call и function_response
- Предусмотрены возможности обучения моделей с нуля (from scratch), full-train дообучения и LoRA/Peft дообучения
- В отличие от иных реализаций использует классы из пакета `transformers`, однако, можно указать путь до любого другого
класса описывающего модель и/или токенизатор и impruver будет использовать уже их;
- Поддерживает возможность распределённого обучения при помощи `accelerate`.
класса описывающего модель и/или токенизатор и `impruver` будет использовать уже их
- Поддерживает возможность распределённого обучения при помощи `accelerate`

## Рекомендации

Expand Down Expand Up @@ -71,7 +76,8 @@ pip install -r requirements.txt
| [rugpt3small](https://huggingface.co/ai-forever/rugpt3small_based_on_gpt2) | function call | [full-train](/configs/rugpt3small_full_fc.yaml) |
| [zephyr-7b-beta](https://huggingface.co/HuggingFaceH4/zephyr-7b-beta) | [zephyr-python-ru](https://huggingface.co/MexIvanov/zephyr-python-ru) analog | [lora](/configs/zephyr_7B_lora_python-ru.yaml) |

Подробнее о том из чего состоят конфигурации и как их описывать сказано в [документации](https://github.com/EvilFreelancer/impruver/wiki).
Подробнее о том из чего состоят конфигурации и как их описывать сказано
в [документации](https://github.com/EvilFreelancer/impruver/wiki).

## Сборка датасета

Expand Down
24 changes: 23 additions & 1 deletion docs/Home.md
Original file line number Diff line number Diff line change
@@ -1 +1,23 @@
Документация проекта `impruver`
# Impruver

Набор скриптов и конфигураций для самостоятельного обучения Больших Языковых Моделей (БЯМ) или же на английском Large
Language Models (LLM).

Вдохновлён проектами: [saiga](https://github.com/IlyaGusev/saiga),
[torchtune](https://github.com/pytorch/torchtune),
[nanoGPT](https://github.com/karpathy/nanoGPT).

Обладает следующими возможностями:

- Единая конфигурация для подготовки датасетов, запуска обучения и инференса в формате YAML
- Возможно указать отдельно токенизатор и модель
- При необходимости можно описать конфигурацию модели from scratch
- Гибкая система подготовки датасетов, позволяющая скомбинировать несколько датасетов, каждый из них индивидуально
нарезать и преобразовать, после чего выполнить слияние и дедупликацию
- Можно использовать датасеты типа `instruct` или `chat` произвольного формата, система преобразует их в
OpenAI-подобный chat типа messages
- Можно обучать function call модели с ролями function_call и function_response
- Предусмотрены возможности обучения моделей с нуля (from scratch), full-train дообучения и LoRA/Peft дообучения
- В отличие от иных реализаций использует классы из пакета `transformers`, однако, можно указать путь до любого другого
класса описывающего модель и/или токенизатор и `impruver` будет использовать уже их
- Поддерживает возможность распределённого обучения при помощи `accelerate`

0 comments on commit 841e296

Please sign in to comment.