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
❤4👍3🔥2