Hugging Face завершила серию Training Agents — шесть практических воркшопов про оценку и обучение ИИ-агентов.
За полгода команда разобрала весь путь: от бенчмарков и SFT на трассах агентов до дистилляции, GRPO и обучения внутри реальных сред.
В финальной части они собрали среду на OpenEnv, подключили её к TRL и обучили реального агента для программирования OpenCode через Harbor в песочницах Hugging Face.
Все шесть записей уже доступны бесплатно, весь код открыт. Серия набрала более 300 тысяч просмотров.
Плейлист:
https://youtube.com/playlist?list=PLo2EIpI_JMQvQZm-kVlz4wY1vWF0LBcf5
👉 @PythonPortal
За полгода команда разобрала весь путь: от бенчмарков и SFT на трассах агентов до дистилляции, GRPO и обучения внутри реальных сред.
В финальной части они собрали среду на OpenEnv, подключили её к TRL и обучили реального агента для программирования OpenCode через Harbor в песочницах Hugging Face.
Все шесть записей уже доступны бесплатно, весь код открыт. Серия набрала более 300 тысяч просмотров.
Плейлист:
https://youtube.com/playlist?list=PLo2EIpI_JMQvQZm-kVlz4wY1vWF0LBcf5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Если полностью разберётесь в этой статье, то будете понимать инференс лучше 90% людей.
И это, кстати, всего лишь первый материал в репозитории AI Performance Engineering.
Страшно представить, сколько знаний в остальных.
https://github.com/wafer-ai/gpu-perf-engineering-resources
👉 @PythonPortal
И это, кстати, всего лишь первый материал в репозитории AI Performance Engineering.
Страшно представить, сколько знаний в остальных.
https://github.com/wafer-ai/gpu-perf-engineering-resources
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Разработчик, который до этого ни разу не проектировал печатные платы, взял Claude Fable 5 и на пару часов оставил его самостоятельно работать в KiCad. 🔍
Затем он заказал пять плат за €130, даже не проверив проект самостоятельно. И они заработали.
В основе платы — микроконтроллер RP2350, небольшой дисплей на электронных чернилах, четыре кнопки и несколько дополнительных выводов. Он подключил первую плату к ноутбуку, и тот сразу её распознал.
Проблемы нашлись только с двумя компонентами: SPI-флеш-памятью и транзистором в схеме управления дисплеем. Причём обнаружилось это уже при отправке файлов производителю. После нескольких раундов правок всё исправили.
Раньше он уже пытался сделать тот же проект с помощью более старых моделей, но тогда компоненты оказывались неправильно ориентированы, а нормальной разводки платы практически не было.
Он пишет, что результатом доволен, хотя особого чувства, что он сам чего-то добился, у него нет. И при этом он всё равно хочет нормально научиться проектировать печатные платы самостоятельно.
👉 @PythonPortal
Затем он заказал пять плат за €130, даже не проверив проект самостоятельно. И они заработали.
В основе платы — микроконтроллер RP2350, небольшой дисплей на электронных чернилах, четыре кнопки и несколько дополнительных выводов. Он подключил первую плату к ноутбуку, и тот сразу её распознал.
Проблемы нашлись только с двумя компонентами: SPI-флеш-памятью и транзистором в схеме управления дисплеем. Причём обнаружилось это уже при отправке файлов производителю. После нескольких раундов правок всё исправили.
Раньше он уже пытался сделать тот же проект с помощью более старых моделей, но тогда компоненты оказывались неправильно ориентированы, а нормальной разводки платы практически не было.
Он пишет, что результатом доволен, хотя особого чувства, что он сам чего-то добился, у него нет. И при этом он всё равно хочет нормально научиться проектировать печатные платы самостоятельно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤6🤝4🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Как большая языковая модель работает на аппаратном уровне?
Если вы привыкли к программированию вокруг CPU, большая языковая модель может казаться чем-то почти магическим. Всё потому, что в ней сочетаются глубокая нейронная сеть, архитектура Transformer и GPU — процессор с огромным параллелизмом, на котором она работает. Кроме того, хотя большую языковую модель можно описать несколькими сотнями строк Python, под ними скрываются крупные и сложные слои программного обеспечения, которые одному человеку трудно понять целиком.
Автор проекта решил разобраться в этом вопросе и с нуля реализовал Qwen3-0.6B — от Transformer до симулятора набора инструкций — с помощью Claude Code в качестве проекта на выходные.
Он реализовал саму модель, набор инструкций GPU, компилятор и симулятор GPU, чтобы каждый слой системы был достаточно небольшим и его можно было понять целиком.
Сейчас он также работает над RTL-описанием GPU, чтобы запустить систему на FPGA, а в будущем, возможно, даже изготовить настоящий чип — просто ради интереса.
Что интересно, пользоваться проектом можно примерно как Claude или Codex, но он работает на CPU, поэтому его можно полностью отлаживать и трассировать.
Если вам было трудно связать между собой большие языковые модели и GPU, на которых они работают, репозиторий здесь:
https://github.com/penberg/titania
👉 @PythonPortal
Если вы привыкли к программированию вокруг CPU, большая языковая модель может казаться чем-то почти магическим. Всё потому, что в ней сочетаются глубокая нейронная сеть, архитектура Transformer и GPU — процессор с огромным параллелизмом, на котором она работает. Кроме того, хотя большую языковую модель можно описать несколькими сотнями строк Python, под ними скрываются крупные и сложные слои программного обеспечения, которые одному человеку трудно понять целиком.
Автор проекта решил разобраться в этом вопросе и с нуля реализовал Qwen3-0.6B — от Transformer до симулятора набора инструкций — с помощью Claude Code в качестве проекта на выходные.
Он реализовал саму модель, набор инструкций GPU, компилятор и симулятор GPU, чтобы каждый слой системы был достаточно небольшим и его можно было понять целиком.
Сейчас он также работает над RTL-описанием GPU, чтобы запустить систему на FPGA, а в будущем, возможно, даже изготовить настоящий чип — просто ради интереса.
Что интересно, пользоваться проектом можно примерно как Claude или Codex, но он работает на CPU, поэтому его можно полностью отлаживать и трассировать.
Если вам было трудно связать между собой большие языковые модели и GPU, на которых они работают, репозиторий здесь:
https://github.com/penberg/titania
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
image_2026-09-14_08-40-46.png
1.1 MB
Большинство слышит «дообучение» и сразу думает, что мы обновляем миллиарды весов большой языковой модели.
Но часто это не так.
Современные методы дообучения позволяют адаптировать модель, почти не трогая её исходные предобученные веса.
Если вы переходите из Data Science в AI Engineering, стоит знать эти 5 подходов.
1. LoRA — учим обновление, а не сами веса
Замораживаем W.
Обучаем две небольшие матрицы:
ΔW = BA
То есть:
W' = W + BA
Фактически мы учим небольшую поправку к модели.
2. LoRA-FA — замораживаем ещё больше
Замораживаем W и A.
Обучаем только B.
Идея та же, но обучаемых параметров ещё меньше.
3. VeRA — не обучаем даже сами матрицы
Фиксируем случайные A и B.
Обучаем только небольшие векторы масштабирования, которые управляют вкладом этих матриц.
Очень высокая параметрическая эффективность.
4. Delta-LoRA — позволяем базовой модели тоже меняться
В отличие от обычной LoRA, здесь W тоже может обновляться, но эти изменения направляются низкоранговой адаптацией.
5. LoRA+ — та же LoRA, но с другой оптимизацией
A и B обучаются с разными скоростями обучения.
Обычно:
ηB > ηA
Главная идея здесь в том, что дообучение не обязательно означает переобучение всей модели.
LoRA → 2 матрицы
LoRA-FA → 1 матрица
VeRA → векторы масштабирования
LoRA+ → 2 матрицы с разными скоростями обучения
Delta-LoRA → низкоранговые обновления + изменяющиеся базовые веса
Пять подходов к одному и тому же вопросу:
какой минимум нам на самом деле нужно обучать?
Именно это и есть параметрически эффективное дообучение — концепция, которую стоит понимать специалистам по Data Science при переходе в AI Engineering.
👉 @PythonPortal
Но часто это не так.
Современные методы дообучения позволяют адаптировать модель, почти не трогая её исходные предобученные веса.
Если вы переходите из Data Science в AI Engineering, стоит знать эти 5 подходов.
1. LoRA — учим обновление, а не сами веса
Замораживаем W.
Обучаем две небольшие матрицы:
ΔW = BA
То есть:
W' = W + BA
Фактически мы учим небольшую поправку к модели.
2. LoRA-FA — замораживаем ещё больше
Замораживаем W и A.
Обучаем только B.
Идея та же, но обучаемых параметров ещё меньше.
3. VeRA — не обучаем даже сами матрицы
Фиксируем случайные A и B.
Обучаем только небольшие векторы масштабирования, которые управляют вкладом этих матриц.
Очень высокая параметрическая эффективность.
4. Delta-LoRA — позволяем базовой модели тоже меняться
В отличие от обычной LoRA, здесь W тоже может обновляться, но эти изменения направляются низкоранговой адаптацией.
5. LoRA+ — та же LoRA, но с другой оптимизацией
A и B обучаются с разными скоростями обучения.
Обычно:
ηB > ηA
Главная идея здесь в том, что дообучение не обязательно означает переобучение всей модели.
LoRA → 2 матрицы
LoRA-FA → 1 матрица
VeRA → векторы масштабирования
LoRA+ → 2 матрицы с разными скоростями обучения
Delta-LoRA → низкоранговые обновления + изменяющиеся базовые веса
Пять подходов к одному и тому же вопросу:
какой минимум нам на самом деле нужно обучать?
Именно это и есть параметрически эффективное дообучение — концепция, которую стоит понимать специалистам по Data Science при переходе в AI Engineering.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥3
OpenResearch в пятницу занял первое место среди самых популярных репозиториев на GitHub.
С OpenResearch можно превратить любого агента для вайбкодинга в ресёрч агента, который изучает литературу, формулирует гипотезы, проводит эксперименты и создаёт исследовательские материалы.
Теперь OpenResearch доступен и на Windows.
https://github.com/alphaXiv/OpenResearch
👉 @PythonPortal
С OpenResearch можно превратить любого агента для вайбкодинга в ресёрч агента, который изучает литературу, формулирует гипотезы, проводит эксперименты и создаёт исследовательские материалы.
Теперь OpenResearch доступен и на Windows.
https://github.com/alphaXiv/OpenResearch
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
11 принципов разработки ПО, которые я хотел бы понять раньше
1. SOLID — качественное объектно-ориентированное проектирование
2. DRY — не повторяйся
3. KISS — делай проще
4. YAGNI — не создавай то, что пока не нужно
5. SRP — одна ответственность
6. Open/Closed — расширяй, не ломая существующее
7. Dependency Inversion — меньше жёстких связей
8. Composition — собирай систему из гибких компонентов
9. Separation of Concerns — разделяй зоны ответственности
10. Fail Fast — выявляй проблемы как можно раньше
11. Measure First — оптимизируй только то, что действительно имеет значение
👉 @PythonPortal
1. SOLID — качественное объектно-ориентированное проектирование
2. DRY — не повторяйся
3. KISS — делай проще
4. YAGNI — не создавай то, что пока не нужно
5. SRP — одна ответственность
6. Open/Closed — расширяй, не ломая существующее
7. Dependency Inversion — меньше жёстких связей
8. Composition — собирай систему из гибких компонентов
9. Separation of Concerns — разделяй зоны ответственности
10. Fail Fast — выявляй проблемы как можно раньше
11. Measure First — оптимизируй только то, что действительно имеет значение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2
Вот как сегодня выглядит «фабрика программного обеспечения» OpenAI, где значительная часть работы уже строится вокруг агентов.
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Изучайте Linux-сети на практике
Новый практический челлендж — потренируйтесь разбираться в сетевой конфигурации Linux-хостов: находить имена интерфейсов, IP- и MAC-адреса, шлюз по умолчанию, а также определять, какие маршруты сервер использует для доступа к разным адресам.
https://labs.iximiuz.com/challenges/linux-inspect-network-interfaces-and-routes
👉 @PythonPortal
Новый практический челлендж — потренируйтесь разбираться в сетевой конфигурации Linux-хостов: находить имена интерфейсов, IP- и MAC-адреса, шлюз по умолчанию, а также определять, какие маршруты сервер использует для доступа к разным адресам.
https://labs.iximiuz.com/challenges/linux-inspect-network-interfaces-and-routes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🤝2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Пока все заставляли мушку работать, чуваки решили дать ей отдохнуть.
Вот что из этого получилось.
👉 @PythonPortal
Вот что из этого получилось.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30🔥7🤝2
Правильный способ обучения такой:
Нужно просто решать задачи и делать проекты.
Именно такой подход сделали для одной из лучших книг по основам статистики — кстати, одной из немногих, которые я действительно прочитал.
Всё очень просто:
Читаешь главу.
Решaешь все задачи по этой теме.
https://www.statlearning.com/
👉 @PythonPortal
Нужно просто решать задачи и делать проекты.
Именно такой подход сделали для одной из лучших книг по основам статистики — кстати, одной из немногих, которые я действительно прочитал.
Всё очень просто:
Читаешь главу.
Решaешь все задачи по этой теме.
https://www.statlearning.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Не нарушайте принцип единственной ответственности
Функция должна делать одну вещь, делать её хорошо и только её.
Эта функция делает слишком много:
Проблема здесь в том, что расчёт промежуточной суммы, скидки и налога объединён в одну функцию. Любое изменение одного из этапов может повлиять на весь расчёт.
Лучше разбить логику на небольшие специализированные функции:
Так намного лучше.
Небольшие функции с одной задачей проще покрывать модульными тестами, потому что у них меньше зависимостей и требуется меньше моков.
Кроме того, изолированные компоненты проще переиспользовать в разных частях приложения или конвейера, не подтягивая лишние зависимости.
Поэтому держите функции простыми и сфокусированными.
Одна функция — одна ответственность.
👉 @PythonPortal
Функция должна делать одну вещь, делать её хорошо и только её.
Эта функция делает слишком много:
def calculate_final_total(
price: float,
quantity: int,
discount_rate: float,
tax_rate: float
) -> float:
# Расчёт промежуточной суммы
subtotal = price * quantity
# Применение скидки
discounted_amount = subtotal * (1 - discount_rate)
# Расчёт налога
final_total = discounted_amount * (1 + tax_rate)
return final_total
Проблема здесь в том, что расчёт промежуточной суммы, скидки и налога объединён в одну функцию. Любое изменение одного из этапов может повлиять на весь расчёт.
Лучше разбить логику на небольшие специализированные функции:
def calculate_subtotal(price: float, quantity: int) -> float:
return price * quantity
def apply_discount(subtotal: float, discount: float) -> float:
return subtotal * (1 - discount)
def calculate_tax(amount: float, tax_rate: float) -> float:
return amount * (1 + tax_rate)
Так намного лучше.
Небольшие функции с одной задачей проще покрывать модульными тестами, потому что у них меньше зависимостей и требуется меньше моков.
Кроме того, изолированные компоненты проще переиспользовать в разных частях приложения или конвейера, не подтягивая лишние зависимости.
Поэтому держите функции простыми и сфокусированными.
Одна функция — одна ответственность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🤔2🤝2
⚙️ Конференция «Я про бэкенд» от Яндекса
Тема — серверная сторона AI-технологий: высоконагруженные рекомендательные и генеративные системы, инференс моделей в продакшене, потоковая обработка данных, отказоустойчивость.
Доклады в 6 направлениях:
• Архитектура систем с AI/ML
• Хранение и стриминг данных
• Работа на стыке бэкенда с железом
• Алгоритмы и подходы к решению практических задач
• MLOps
• Другие интересные челленджи на бэкенде
Спикеры — инженеры Яндекса, Сбера, Т-Банка и других крупных компаний.
Отдельный формат конференции: в прямом эфире разработчики Яндекса решают сложную архитектурную задачу на проектирование бэкенда сервиса из сферы информационного поиска. Задачу для эфира могут предложить участники — полное описание нужно прислать и после регистрации в течение 14 дней.
📍 3 октября 2026, Москва и онлайн
Сайт и регистрация
Тема — серверная сторона AI-технологий: высоконагруженные рекомендательные и генеративные системы, инференс моделей в продакшене, потоковая обработка данных, отказоустойчивость.
Доклады в 6 направлениях:
• Архитектура систем с AI/ML
• Хранение и стриминг данных
• Работа на стыке бэкенда с железом
• Алгоритмы и подходы к решению практических задач
• MLOps
• Другие интересные челленджи на бэкенде
Спикеры — инженеры Яндекса, Сбера, Т-Банка и других крупных компаний.
Отдельный формат конференции: в прямом эфире разработчики Яндекса решают сложную архитектурную задачу на проектирование бэкенда сервиса из сферы информационного поиска. Задачу для эфира могут предложить участники — полное описание нужно прислать и после регистрации в течение 14 дней.
📍 3 октября 2026, Москва и онлайн
Сайт и регистрация
❤6🔥1
Небольшой факт про Python.
Оператор
Он появился в Python 3.8 и позволяет одновременно присвоить значение переменной и использовать его прямо внутри выражения.
Например:
Без него пришлось бы отдельно получать значение через
Пользовались когда-нибудь
👉 @PythonPortal
Оператор
:= называют «моржом» из-за того, что символы напоминают глаза и бивни моржа.Он появился в Python 3.8 и позволяет одновременно присвоить значение переменной и использовать его прямо внутри выражения.
Например:
while (line := input("Say something: ")) != "quit":
print(f"You said: {line}")Без него пришлось бы отдельно получать значение через
input(), а затем уже проверять его.Пользовались когда-нибудь
:= в своём коде?Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
Одно из главных правил
Если в
Почему это важно:
Например, если одна строка результата соответствует должности внутри отдела, группировать нужно и по
Если оставить столбец, который внутри одной группы может иметь несколько значений, одни СУБД просто вернут ошибку, а другие в некоторых режимах могут выбрать неопределённое значение из группы.
Простое правило: если столбец может иметь несколько значений внутри группы, его нужно либо добавить в
👉 @PythonPortal
GROUP BY в SQL.Если в
SELECT есть столбец без агрегатной функции, он должен либо входить в GROUP BY, либо однозначно определяться сгруппированными столбцами.Почему это важно:
GROUP BY определяет, что означает одна строка результата. База должна понимать, какое единственное значение поставить в каждую ячейку.Например, если одна строка результата соответствует должности внутри отдела, группировать нужно и по
department, и по job_title.Если оставить столбец, который внутри одной группы может иметь несколько значений, одни СУБД просто вернут ошибку, а другие в некоторых режимах могут выбрать неопределённое значение из группы.
Простое правило: если столбец может иметь несколько значений внутри группы, его нужно либо добавить в
GROUP BY, либо агрегировать через COUNT, SUM, MAX, MIN и другие функции.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍3🤔2
В репозитории LLM Internals собрали цельную дорожную карту от токенизации и BPE до обучения, дообучения, RAG, агентов и оптимизации вывода.
Разбираются Q/K/V, RoPE, каузальные маски, GQA, Transformer, MoE, LoRA, нормализация, обратное распространение ошибки, кросс-энтропия, RLHF и рассуждающие модели.
Отдельный блок посвящён ускорению вывода: KV Cache, Flash Attention, Paged Attention и спекулятивное декодирование.
Для каждого раздела собраны статьи и видео, поэтому репозиторий особенно полезен, если хочется наконец связать разрозненные знания в одну систему.
https://github.com/amitshekhariitbhu/llm-internals
👉 @PythonPortal
Разбираются Q/K/V, RoPE, каузальные маски, GQA, Transformer, MoE, LoRA, нормализация, обратное распространение ошибки, кросс-энтропия, RLHF и рассуждающие модели.
Отдельный блок посвящён ускорению вывода: KV Cache, Flash Attention, Paged Attention и спекулятивное декодирование.
Для каждого раздела собраны статьи и видео, поэтому репозиторий особенно полезен, если хочется наконец связать разрозненные знания в одну систему.
https://github.com/amitshekhariitbhu/llm-internals
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Один из создателей ChatGPT представил принципиально новый тип ИИ-моделей.
Два года, Диогу Алмейда, втайне разрабатывал Jev — модель, которая не пишет текст и не генерирует токены последовательно.
Она получает любые неструктурированные данные и параллельно принимает заданные разработчиком решения. Например, выбирает одну категорию из списка, выставляет оценку или определяет вероятность утверждения.
Jev также запрещено использовать скрытую цепочку рассуждений. Сложное поведение должно собираться разработчиком из множества простых решений при помощи обычного кода.
Именно поэтому модель работает в 20–200 раз быстрее и обходится в 40–400 раз дешевле. Миллион входных токенов стоит 4,2 цента, а выход остаётся бесплатным навсегда (его вычисление настолько дёшево, что компания не видит смысла его считать.)
Компания заявляет о нулевых галлюцинациях. Jev не может выдать ответ вне заданных вариантов или нарушить структуру. При этом модель может выбрать неправильный вариант.
Это не замена GPT-6 Astra и не новый чат-бот. Jev создан для автоматизации, где программам не нужны тексты. Им нужны быстрые решения в заданном формате.
👉 @PythonPortal
Два года, Диогу Алмейда, втайне разрабатывал Jev — модель, которая не пишет текст и не генерирует токены последовательно.
Она получает любые неструктурированные данные и параллельно принимает заданные разработчиком решения. Например, выбирает одну категорию из списка, выставляет оценку или определяет вероятность утверждения.
Jev также запрещено использовать скрытую цепочку рассуждений. Сложное поведение должно собираться разработчиком из множества простых решений при помощи обычного кода.
Именно поэтому модель работает в 20–200 раз быстрее и обходится в 40–400 раз дешевле. Миллион входных токенов стоит 4,2 цента, а выход остаётся бесплатным навсегда (его вычисление настолько дёшево, что компания не видит смысла его считать.)
Компания заявляет о нулевых галлюцинациях. Jev не может выдать ответ вне заданных вариантов или нарушить структуру. При этом модель может выбрать неправильный вариант.
Это не замена GPT-6 Astra и не новый чат-бот. Jev создан для автоматизации, где программам не нужны тексты. Им нужны быстрые решения в заданном формате.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19❤4