Перейти до вмісту
ГоловнаНовиниКонцептиГайдиІнструменти
Про насПідписатисяEN
Підписатися

AI Today Brief

Щоденний бриф з AI-інженерії. Built in public. EN · UA.

XTelegramLinkedInYouTubeRSS

Слідкуйте за AI Today Brief у LinkedIn — щоденні оновлення з AI-інженерії та тижневий PDF «5 shifts that changed how developers work».

Огляд

НовиниДайджестиКонцептиГайди

Компанія

ПідписатисяРекламаПро нас

Правове

Редакційна політикаAI-розкриттяПриватністьУмови

© 2026 AI Today Brief. Усі права захищені.

  1. Головна/
  2. Новини/
  3. Моделі й дослідження/
  4. nanoRL: мінімалістичний фреймворк на 1800 рядків для RL-навчання великих мовних моделей
Моделі й дослідження

nanoRL: мінімалістичний фреймворк на 1800 рядків для RL-навчання великих мовних моделей

nanoRL реалізує асинхронний цикл RL-навчання для LLM у 1800 рядках коду на Python без використання Ray, DeepSpeed чи TRL. Фреймворк підтримує алгоритми REINFORCE, PPO, GRPO та RLOO.

13 серпня 2026 р.· 4 хв читання
OKКуратор Oleksandr Kuzmenko, AI Product Engineer·Оновлено 13 серпня 2026 р.·Джерела вказані в кожному матеріалі
За участі AI · перевірено редактором·Як ми використовуємо AI
nanoRL: мінімалістичний фреймворк на 1800 рядків для RL-навчання великих мовних моделей

Вплив: Середній

Чому це важливо

Ви можете легко модифікувати та налагоджувати прозорий пайплайн RL-доінструктування LLM без складного фреймворкового оверхеду.

TL;DR

  • 01nanoRL зводить складне RL-доінструктування (PPO, GRPO, RLOO) до ~1800 рядків читабельного Python-коду.
  • 02Розділення генерації vLLM та навчання PyTorch зменшує розмір синхронізації ваг до ~170 МБ завдяки LoRA.
  • 03Перерахунок старих logprobs на тренері є необхідним для запобігання падінню точності через розбіжності ядер.

Ключові факти

Розмір кодової бази
~1800 рядків у 7 файлах Python
Підтримувані алгоритми
REINFORCE, PPO (GAE), GRPO, RLOO
Розмір синхронізації LoRA
~170 МБ (проти 16 ГБ повних ваг)
Залежності
PyTorch, vLLM, Hugging Face Transformers, PEFT

Архітектура та набір алгоритмів

Усі алгоритми RL у nanoRL зводяться до обчислення значень переваги (advantage) у файлі algos.py. Проєкт складається з 7 файлів, включаючи train.py (цикл і оновлення), model.py (генератор vLLM та обгортка Hugging Face), serve.py (асинхронний транспорт через HTTP stdlib) та tasks.py (промпти та функції винагороди).

Асинхронне розподілене навчання

Робочі ноди взаємодіють із тренером через стандартний HTTP. Ноди генерації запускають vLLM із власнішим розміром батчу, тоді як тренер виконує мікробатчеві оновлення. Синхронізація ваг передає лише параметри адаптерів LoRA (~170 МБ) замість повних чекпоінтів (~16 ГБ), що дозволяє виконати 200 кроків GRPO на 102 тис. послідовностей за 90 хвилин.

Точність логарифмів ймовірностей

Оскільки ядра vLLM обчислюють logprobs інакше, ніж прохід PyTorch Hugging Face, nanoRL перераховує old_logp на тренері під точними вагами вибірки. У бенчмарках використання невідкоригованих logprobs vLLM призводило до дрейфу співвідношення з 1.006 до 1.165 та падіння точності з 50.0% до 18.8%.

Спробуй за 2 хвилини

uv pip install torch gymnasium numpy transformers peft pyyaml vllm
python train.py --task cartpole --algo reinforce

bash

✓ Коли використовувати

  • Вивчення або прототипування власних алгоритмів RL-доінструктування LLM без оверхеду Ray
  • Запуск файн-тюнінгу GRPO/PPO на споживчих або мульти-GPU інстансах з vLLM та LoRA
  • Створення власних функцій винагороди для задач математичного чи доменного міркування

✕ Коли НЕ варто

  • Масштабні корпоративні навантаження, що вимагають 3D-паралелізму в стилі Megatron або MoE
  • Мульти-тенантні кластери із заплутаними дашбордами та диспетчерами завдань

Що зробити сьогодні

  • →Склонуйте alex000kim/nanoRL для ознайомлення з реалізацією RL у файлах algos.py та tasks.py.
  • →Запустіть python train.py --task cartpole --algo reinforce локально для перевірки середовища.
  • →Створіть власні функції винагороди в tasks.py для RL-доінструктування моделей на специфічних даних.
#nanoRL#vLLM#PyTorch#Hugging Face#LoRA

Джерела

  • nanoRL GitHub Repository
ПоділитисяПоділитися в XПоділитися в LinkedIn
← Попередня новинаPrivAiTe: локальний проксі для маскування персональних даних у Claude CodeНаступна новина →OpenAI анонсує режим Ultrafast для GPT-5.6 Sol на базі чіпів Cerebras

Схожі матеріали

  • Моделі й дослідженняЗастарілі моделі Claude уразливі до багатокрокових промпт-ін'єкцій на сторонніх API
  • Моделі й дослідженняТаємнича модель Ox Alpha з'явилася на OpenRouter, випереджаючи Fable 5 та GPT-5.6 Sol
  • Моделі й дослідженняВідкрита модель Ornith-1.5 на 397B MoE випущена під ліцензією MIT
  • Моделі й дослідженняCanonical підтримує нейросимвольне ШІ-дослідження для автоматизації перекладу C на Rust

Email-дайджест

Отримуйте ранковий AI-бриф

Один лист на день — історії, що важливі для інженерів, фаундерів і техлідів. Редагує людина, з посиланнями на першоджерела.

  • ✓120+ джерел щодня
  • ✓Редагує людина
  • ✓1 лист на день
  • ✓EN + UA

Підписуючись, ви погоджуєтесь з політикою конфіденційності.