TGViewer
Аналитик данных Аналитик данных @dataanlitics · 6.25K subscribers
Post #129 2.27K

Forwarded from Machinelearning

⚡️ Liger Kernel: Эффективные ядра Triton для обучения LLM

Liger (Linkedin GPU Efficient Runtime) Kernel — набор оптимизированных ядер Triton, применение которых в задачах обучения LLM на нескольких GPU повышает производительность на 20 % и снижает потребление VRAM на 60%. Это дает возможность использовать более длинные контексты, более крупные размеры пакетов и увеличенные словари в обучении.

Liger предоставляет простой API для операций с оптимизированными ядрами и совместим с Hugging Face: RMSNorm, RoPE, SwiGLU, CrossEntropy, FusedLinearCrossEntropy

Liger работает с Flash Attention, PyTorch FSDP и Microsoft DeepSpeed без необходимости дополнительной настройки.

Зависимости:

🟢PyTorch: 2.1.2 или выше.
🟢Triton: 2.3.0 или выше
🟢Transformers: 4.40.1 или выше.

Liger Kernel доступен в pip. Выберите стабильную версию для продакшена или nightly c последними новыми функциями и исправлениями:

# Stable version
pip install liger-kernel

# Nightly version
pip install liger-kernel-nightly

Патч существующей модели с Hugging Face:

# Import modules
import transformers
from liger_kernel.transformers import apply_liger_kernel_to_llama

# Load Hugging Face model:
model = transformers.AutoModelForCausalLM.from_pretrained("<some llama model>")

# Apply Liger Kernel patches:
apply_liger_kernel_to_llama(model)

После установки патча, модель будет использовать операции ядра Liger для поддерживаемых слоев, что приведет к повышению производительности и снижению потребления VRAM.

Если вы хотите построить собственные модели с помощью Liger Kernel, вы можете импортировать отдельные модули ядра и использовать их в качестве строительных блоков. Например:

# Import the Liger Kernel module:
from liger_kernel.transformers import LigerFusedLinearCrossEntropyLoss

#Create your model:
import torch.nn as nn
import torch
model = nn.Linear(128, 256).cuda()
loss_fn = LigerFusedLinearCrossEntropyLoss()

#Use the model:
input = torch.randn(4, 128, requires_grad=True, device="cuda")
target = torch.randint(256, (4, ), device="cuda")
loss = loss_fn(model.weight, input, target)
loss.backward()

Модель пропатчена, вы можете продолжить обучение как обычно. Liger Kernel будет автоматически выполнять оптимизированные операции во время обучения.


📌Лицензирование: BSD 2-CLAUSE LICENSE (as is и необходимо указывать авторство при копировании и модификации).


🖥Github [ Stars: 767 | Issues: 14 | Forks: 35 ]
  • 👍 2
  • ❤ 1
More from @dataanlitics
  1. Sep 22, 2026👣 Google открыла исходный код AX, среды для запуска AI-агентов в продакшене. AX изолирует…
  2. Sep 15, 2026📘 Бесплатный 17-страничный PDF по Hidden Markov Models (HMM) Короткий материал от Stanfor…
  3. Sep 15, 2026🔥 Один из лучших обучающих курсов на StepiK по SQL SQL можно знать годами и всё равно тер…
  4. Sep 10, 2026✔️ Hugging Face запустила агента для ML-экспериментов Платформа встроила в свой чат-бот от…
  5. Aug 19, 2026Как нормально тестировать AI-агента, если правильный ответ ещё ничего не доказывает У обыч…
  6. Aug 16, 2026⚡️ Harness Engineering - полный курс на русском Как заставить AI-агента писать код надёжно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →