linkedin/Liger-Kernel

Snapshot của linkedin/Liger-Kernel: 6.6k★ · Python · AI Tools. Efficient Triton Kernels for LLM Training
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Snapshot
Cộng tác viên hàng đầu
Xem cộng tác viên hàng đầu
Liger Kernel: Efficient Triton Kernels for LLM Training
| Stable | Nightly | Discord | ||
|---|---|---|---|---|
|
|
|
|
|
|
Installation | Getting Started | Examples | High-level APIs | Low-level APIs | Cite our work
Latest News 🔥
- [2025/12/19] We announced a liger kernel discord channel at https://discord.gg/X4MaxPgA; We will be hosting Liger Kernel x Triton China Meetup in mid of January 2026
- [2025/03/06] We release a joint blog post on TorchTune × Liger - Peak Performance, Minimized Memory: Optimizing torchtune’s performance with torch.compile & Liger Kernel
- [2024/12/11] We release v0.5.0: 80% more memory efficient post training losses (DPO, ORPO, CPO, etc)!
- [2024/12/5] We release LinkedIn Engineering Blog - Liger-Kernel: Empowering an open source ecosystem of Triton Kernels for Efficient LLM Training
- [2024/11/6] We release v0.4.0: Full AMD support, Tech Report, Modal CI, Llama-3.2-Vision!
- [2024/10/21] We have released the tech report of Liger Kernel on Arxiv: https://arxiv.org/pdf/2410.10989
- [2024/9/6] We release v0.2.1 (X post). 2500+ Stars, 10+ New Contributors, 50+ PRs, 50k Downloads in two weeks!
- [2024/8/31] CUDA MODE talk, Liger-Kernel: Real-world Triton kernel for LLM Training, Slides
- [2024/8/23] Official release: check out our X post
Liger Kernel is a collection of Triton kernels designed specifically for LLM training. It can effectively increase multi-GPU training throughput by 20% and reduces memory usage by 60%. We have implemented Hugging Face Compatible RMSNorm, RoPE, SwiGLU, CrossEntropy, FusedLinearCrossEntropy, and more to come. The kernel works out of the box with Flash Attention, PyTorch FSDP, and Microsoft DeepSpeed. We welcome contributions from the community to gather the best kernels for LLM training.
We've also added optimized Post-Training kernels that deliver up to 80% memory savings for alignment and distillation tasks. We support losses like DPO, CPO, ORPO, SimPO, KTO, JSD, and many more. Check out how we optimize the memory.
You can view the documentation site for additional installation, usage examples, and API references:https://linkedin.github.io/Liger-Kernel/
You can view the Liger Kernel Technical Report: https://openreview.net/forum?id=36SjAIT42G
Supercharge Your Model with Liger Kernel
With one line of code, Liger Kernel can increase throughput by more than 20% and reduce memory usage by 60%, thereby enabling longer context lengths, larger batch sizes, and massive vocabularies.
| Speed Up | Memory Reduction |
|---|---|
![]() | ![]() |
Note:
- Benchmark conditions: LLaMA 3-8B, Batch Size = 8, Data Type =
bf16, Optimizer = AdamW, Gradient Checkpointing = True, Distributed Strategy = FSDP1 on 8 A100s.- Hugging Face models start to OOM at a 4K context length, whereas Hugging Face + Liger Kernel scales up to 16K.
Optimize Post Training with Liger Kernel
We provide optimized post training kernels like DPO, ORPO, SimPO, and more which can reduce memory usage by up to 80%. You can easily use them as python modules.
from liger_kernel.chunked_loss import LigerFusedLinearORPOLoss
orpo_loss = LigerFusedLinearORPOLoss()
y = orpo_loss(lm_head.weight, x, target)
Examples
| Use Case | Description |
|---|---|
| Hugging Face Trainer | Train LLaMA 3-8B ~20% faster with over 40% memory reduction on Alpaca dataset using 4 A100s with FSDP |
| Lightning Trainer | Increase 15% throughput and reduce memory usage by 40% with LLaMA3-8B on MMLU dataset using 8 A100s with DeepSpeed ZeRO3 |
| Medusa Multi-head LLM (Retraining Phase) | Reduce memory usage by 80% with 5 LM heads and improve throughput by 40% using 8 A100s with FSDP |
| Vision-Language Model SFT | Finetune Qwen2-VL on image-text data using 4 A100s with FSDP |
| Liger ORPO Trainer | Align Llama 3.2 using Liger ORPO Trainer with FSDP with 50% memory reduction |
Key Features
- Ease of use: Simply patch your Hugging Face model with one line of code, or compose your own model using our Liger Kernel modules.
- Time and memory efficient: In the same spirit as Flash-Attn, but for layers like RMSNorm, RoPE, SwiGLU, and CrossEntropy! Increases multi-GPU training throughput by 20% and reduces memory usage by 60% with kernel fusion, in-place replacement, and chunking techniques.
- Exact: Computation is exact—no approximations! Both forward and backward passes are implemented with rigorous unit tests and undergo convergence testing against training runs without Liger Kernel to ensure accuracy.
- Lightweight: Liger Kernel has minimal dependencies, requiring only Torch and Triton—no extra libraries needed! Say goodbye to dependency headaches!
- Multi-GPU supported: Compatible with multi-GPU setups (PyTorch FSDP, DeepSpeed, DDP, etc.).
- Trainer Framework Integration: Axolotl, LLaMa-Factory, SFTTrainer, Hugging Face Trainer, SWIFT, oumi
Installation
Dependencies
CUDA
torch >= 2.1.2triton >= 2.3.0
ROCm
torch >= 2.5.0Install according to the instruction in Pytorch official webpage.triton >= 3.0.0Install from pypi. (e.g.pip install triton==3.0.0)
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm7.2
Ascend NPU
torch == 2.7.1torch_npu == 2.7.1triton-ascend == 3.2.1Install from the Ascend PyPI mirror (not on default PyPI).
pip install -e ".[dev]" --extra-index-url https://triton-ascend.osinfra.cn/pypi/simple
Optional Dependencies
transformers >= 4.x: Required if you plan to use the transformers models patching APIs. The specific model you are working will dictate the minimum version of transformers.cuda-tile: Required when enabling the optional cuTile backend on CUDA. Use this when your environment already provides CUDA Toolkit 13.1 or newer, or an existing tileiras compiler installation.cuda-tile[tileiras]: Required when enabling the optional cuTile backend with the tileiras compiler installed directly into your Python environment.nvidia-cutlass-dsl >= 4.5.2: Required when enabling the optional CuTe DSL backend on CUDA (the CUDA-only Python DSL shipped with NVIDIA CUTLASS,import cutlass.cute). Targets Hopper (SM90) and Blackwell (SM100/SM110).
Note: Our kernels inherit the full spectrum of hardware compatibility offered by Triton.
To install the stable version:
$ pip install liger-kernel
To install the nightly version:
$ pip install liger-kernel-nightly
To install from source:
git clone https://github.com/linkedin/Liger-Kernel.git
cd Liger-Kernel
# Install Default Dependencies
# Setup.py will detect the local backend and select default dependencies.
# On ROCm, install ROCm PyTorch first from the PyTorch ROCm index.
pip install -e .
# Setup Development Dependencies
pip install -e ".[dev]"
# ROCm source installs
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm7.2
# Then choose one:
pip install -e .
pip install -e ".[dev]"
# Setup cuTile Dependencies
pip install -e ".[cutile]"
# Or install cuTile with the optional tileiras compiler
pip install -e ".[cutile-tileiras]"
# Setup CuTe DSL (NVIDIA CUTLASS Python DSL) Dependencies
pip install -e ".[cutedsl]"
Enable cuTile Backend
cuTile is an optional CUDA-only DSL implementation. After installing the cutile or cutile-tileiras extra, enable it explicitly:
LIGER_KERNEL_IMPL=cutile python your_script.py
LIGER_KERNEL_IMPL selects an opt-in implementation registered with Liger (currently cutile and cutedsl). Selecting one on an unsupported device, or without the required dependencies installed, raises an error.
Enable CuTe DSL Backend
CuTe DSL is the optional, CUDA-only Python DSL shipped with NVIDIA CUTLASS (import cutlass.cute), targeting Hopper (SM90) and Blackwell (SM100/SM110). After installing the cutedsl extra, enable it explicitly:
pip install "liger-kernel[cutedsl]"
LIGER_KERNEL_IMPL=cutedsl python your_script.py
It currently provides genuine cutlass.cute implementations of RMSNorm, cross entropy, and
fused scaled cross entropy (LigerFusedLinearScaledCrossEntropyFunction). The frontend dispatches from the input
device: Hopper compute capability 9.0 uses LigerFusedScaledCrossEntropySM90Function, while other devices and
NVIDIA compute capabilities use a 512-token chunked PyTorch fallback adapted from Verl's fused linear PPO
implementation. The scaled operator is an additional operator, not a replacement for the Triton
LigerFusedLinearCrossEntropyFunction:
it fuses x @ weight.T with the softmax, takes matching floating-point input/weight (BF16 on SM90) plus
ignore_index, and returns
the per-token negative log-likelihood [M] plus optional vocabulary entropy — reductions are composed in PyTorch. Backward
therefore receives the per-token upstream gradient [M], which is used verbatim as the row scale of
dZ; a scalar grad_output is rejected rather than silently reduced. temperature defaults to
1.0 and applies the same logits / temperature semantics as Verl.
Set return_entropy=True to additionally return differentiable per-token
vocabulary entropy in the input dtype; its backward contribution follows Verl's PPO
formula. Both NLL and entropy are zeroed for ignore_index rows.
On SM90, m_tiles_per_cluster (>= 1, default 1) selects the forward schedule: 1 uses the fastest M-outer self-TMA forward, values > 1
use the M-fast forward with that many live M tiles per cluster. Backward executes dZ, dX = dZ @ W,
and dW = dZ.T @ X inside one persistent cluster-2 CUDA kernel. Its device-side wave loop aliases
phase-specific shared memory, uses W multicast for dX, transposed TMA for dW, and HBM atomics between
waves. Backward uses a fixed reusable BF16 dZ workspace covering 1024 tokens; wave zero
plain-stores BF16 dW, and later waves use Hopper BF16 TMA reduce-add. Ops without a CuTe DSL kernel
transparently fall back to the default Triton kernel. Selecting the backend on a non-CUDA device, or
without nvidia-cutlass-dsl installed, raises an error.
from liger_kernel.ops import LigerFusedLinearScaledCrossEntropyFunction
nll, entropy = LigerFusedLinearScaledCrossEntropyFunction.apply(
x, weight, target, 1.0, -100, 1, True
) # [M], [M]
loss = nll.sum() / (target != -100).sum().clamp_min(1)
Getting Started
There are a couple of ways to apply Liger kernels, depending on the level of customization required.
1. Use AutoLigerKernelForCausalLM
Using the AutoLigerKernelForCausalLM is the simplest approach, as you don't have to import a model-specific patching API. If the model type is supported, the modeling code will be automatically patched using the default settings.
from liger_kernel.transformers import AutoLigerKernelForCausalLM
# This AutoModel wrapper class automatically monkey-patches the
# model with the optimized Liger kernels if the model is supported.
model = AutoLigerKernelForCausalLM.from_pretrained("path/to/some/model")
2. Apply Model-Specific Patching APIs
Using the patching APIs, you can swap Hugging Face models with optimized Liger Kernels.
import transformers
from liger_kernel.transformers import apply_liger_kernel_to_llama
# 1a. Adding this line automatically monkey-patches the model with the optimized Liger kernels
apply_liger_kernel_to_llama()
# 1b. You could alternatively specify exactly which kernels are applied
apply_liger_kernel_to_llama(
rope=True,
swiglu=True,
cross_entropy=True,
fused_linear_cross_entropy=False,
rms_norm=False
)
# 2. Instantiate patched model
model = transformers.AutoModelForCausalLM("path/to/llama/model")
3. Compose Your Own Model
You can take individual kernels to compose your models.
from liger_kernel.transformers import LigerFusedLinearCrossEntropyLoss
import torch.nn as nn
import torch
model = nn.Linear(128, 256).cuda()
# fuses linear + cross entropy layers together and performs chunk-by-chunk computation to reduce memory
loss_fn = LigerFusedLinearCrossEntropyLoss()
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()
High-level APIs
AutoModel
| AutoModel Variant | API |
|---|---|
| AutoModelForCausalLM | liger_kernel.transformers.AutoLigerKernelForCausalLM |
Patching
| Model | API | Supported Operations |
|---|---|---|
| Llama4 (Text) & (Multimodal) | liger_kernel.transformers.apply_liger_kernel_to_llama4 | RMSNorm, LayerNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| LLaMA 2 & 3 | liger_kernel.transformers.apply_liger_kernel_to_llama | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| LLaMA 3.2-Vision | liger_kernel.transformers.apply_liger_kernel_to_mllama | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Ministral | liger_kernel.transformers.apply_liger_kernel_to_ministral | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Mistral | liger_kernel.transformers.apply_liger_kernel_to_mistral | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Mixtral | liger_kernel.transformers.apply_liger_kernel_to_mixtral | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Nemotron | liger_kernel.transformers.apply_liger_kernel_to_nemotron | ReLUSquared, CrossEntropyLoss, FusedLinearCrossEntropy |
| Pixtral | liger_kernel.transformers.apply_liger_kernel_to_pixtral | RoPE, RMSNorm, SwiGLU |
| Gemma1 | liger_kernel.transformers.apply_liger_kernel_to_gemma | RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Gemma2 | liger_kernel.transformers.apply_liger_kernel_to_gemma2 | RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Gemma3 (Text) | liger_kernel.transformers.apply_liger_kernel_to_gemma3_text | RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Gemma3 (Multimodal) | liger_kernel.transformers.apply_liger_kernel_to_gemma3 | LayerNorm, RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Gemma4 (Text) | liger_kernel.transformers.apply_liger_kernel_to_gemma4_text | RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Gemma4 (Multimodal) | liger_kernel.transformers.apply_liger_kernel_to_gemma4 | RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Paligemma, Paligemma2, & Paligemma2 Mix | liger_kernel.transformers.apply_liger_kernel_to_paligemma | LayerNorm, RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen2, Qwen2.5, & QwQ | liger_kernel.transformers.apply_liger_kernel_to_qwen2 | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen2-VL, & QVQ | liger_kernel.transformers.apply_liger_kernel_to_qwen2_vl | RMSNorm, LayerNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen2.5-VL | liger_kernel.transformers.apply_liger_kernel_to_qwen2_5_vl | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen3 | liger_kernel.transformers.apply_liger_kernel_to_qwen3 | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen3 MoE | liger_kernel.transformers.apply_liger_kernel_to_qwen3_moe | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen3.5 | liger_kernel.transformers.apply_liger_kernel_to_qwen3_5 | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Qwen3.5 MoE (Text) & (Multimodal) | liger_kernel.transformers.apply_liger_kernel_to_qwen3_5_moe | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Phi3 & Phi3.5 | liger_kernel.transformers.apply_liger_kernel_to_phi3 | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Granite 3.0 & 3.1 | liger_kernel.transformers.apply_liger_kernel_to_granite | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |
| OLMo2 | liger_kernel.transformers.apply_liger_kernel_to_olmo2 | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| Olmo3 | liger_kernel.transformers.apply_liger_kernel_to_olmo3 | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| GLM-4 | liger_kernel.transformers.apply_liger_kernel_to_glm4 | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| DeepSeek-V4 | liger_kernel.transformers.apply_liger_kernel_to_deepseek_v4 | RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
| GPT-OSS | liger_kernel.transformers.apply_liger_kernel_to_gpt_oss | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
| InternVL3 | liger_kernel.transformers.apply_liger_kernel_to_internvl | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| HunyuanV1 | liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
| HunyuanV1 MoE | liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
Low-level APIs
Fused Linearkernels combine linear layers with losses, reducing memory usage by up to 80% - ideal for HBM-constrained workloads.- Other kernels use fusion and in-place techniques for memory and performance optimization.
Model Kernels
| Kernel | API |
|---|---|
| RMSNorm | liger_kernel.transformers.LigerRMSNorm |
| Modulated RMSNorm | liger_kernel.transformers.LigerModulatedRMSNorm |
| LayerNorm | liger_kernel.transformers.LigerLayerNorm |
| RoPE | liger_kernel.transformers.liger_rotary_pos_emb |
| SwiGLU | liger_kernel.transformers.LigerSwiGLUMLP |
| GeGLU | liger_kernel.transformers.LigerGEGLUMLP |
| CrossEntropy | liger_kernel.transformers.LigerCrossEntropyLoss |
| Fused Linear CrossEntropy | liger_kernel.transformers.LigerFusedLinearCrossEntropyLoss |
| Multi Token Attention | liger_kernel.transformers.LigerMultiTokenAttention |
| Softmax | liger_kernel.transformers.LigerSoftmax |
| Sparsemax | liger_kernel.transformers.LigerSparsemax |
| mHC (Hyper-Connections) | liger_kernel.transformers.LigerMHC |
Alignment Kernels
| Kernel | API |
|---|---|
| Fused Linear CPO Loss | liger_kernel.chunked_loss.LigerFusedLinearCPOLoss |
| Fused Linear DPO Loss | liger_kernel.chunked_loss.LigerFusedLinearDPOLoss |
| Fused Linear ORPO Loss | liger_kernel.chunked_loss.LigerFusedLinearORPOLoss |
| Fused Linear SimPO Loss | liger_kernel.chunked_loss.LigerFusedLinearSimPOLoss |
| Fused Linear KTO Loss | liger_kernel.chunked_loss.LigerFusedLinearKTOLoss |
Distillation Kernels
| Kernel | API |
|---|---|
| KLDivergence | liger_kernel.transformers.LigerKLDIVLoss |
| JSD | liger_kernel.transformers.LigerJSD |
| Fused Linear JSD | liger_kernel.transformers.LigerFusedLinearJSD |
| TVD | liger_kernel.transformers.LigerTVDLoss |
Experimental Kernels
| Kernel | API |
|---|---|
| Embedding | liger_kernel.transformers.experimental.LigerEmbedding |
| Matmul int2xint8 | liger_kernel.transformers.experimental.matmul |
Contributing, Acknowledgements, and License
- Contributing Guidelines
- Acknowledgements
- License Information
Sponsorship and Collaboration
- Glows.ai: Sponsoring NVIDIA GPUs for our open source developers.
- AMD: Providing AMD GPUs for our AMD CI.
- Intel: Providing Intel GPUs for our Intel CI.
- Modal: Free 3000 credits from GPU MODE IRL for our NVIDIA CI.
- EmbeddedLLM: Making Liger Kernel run fast and stable on AMD.
- HuggingFace: Integrating Liger Kernel into Hugging Face Transformers and TRL.
- Lightning AI: Integrating Liger Kernel into Lightning Thunder.
- Axolotl: Integrating Liger Kernel into Axolotl.
- Llama-Factory: Integrating Liger Kernel into Llama-Factory.
CI status
| Build |
|---|
|
|
Contact
- For issues, create a Github ticket in this repository
- For open discussion, join our discord channel on GPUMode
- For formal collaboration, send an email to Yanning Chen([email protected]) and Zhipeng Wang([email protected])
Cite this work
Biblatex entry:
@inproceedings{
hsu2025ligerkernel,
title={Liger-Kernel: Efficient Triton Kernels for {LLM} Training},
author={Pin-Lun Hsu and Yun Dai and Vignesh Kothapalli and Qingquan Song and Shao Tang and Siyu Zhu and Steven Shimizu and Shivam Sahni and Haowen Ning and Yanning Chen and Zhipeng Wang},
booktitle={Championing Open-source DEvelopment in ML Workshop @ ICML25},
year={2025},
url={https://openreview.net/forum?id=36SjAIT42G}
}
Star History
↑ Back to Top ↑
Repo liên quan
Hugging Face Transformers (huggingface/transformers) is a Python library that centralizes model definitions for text, computer vision, audio, video, and multimodal machine learning, covering both inference and training. The README describes it as a pivot point compatible with training frameworks such as Axolotl, DeepSpeed, and PyTorch-Lightning, and inference engines such as vLLM, SGLang, and TGI, with more than 1M+ model checkpoints listed on the Hugging Face Hub.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
Shubhamsaboo/awesome-llm-apps is a substantial collection of over 100 open-source AI agents, agent skills, and Retrieval Augmented Generation (RAG) applications. Hand-built, end-to-end tested, and licensed under Apache-2.0, this Python-based repository supports a range of LLMs including Claude, Gemini, GPT, DeepSeek, Llama, and Qwen. It offers a wide array of examples, from single-file starter agents and advanced multi-agent teams to voice AI agents, generative UIs, autonomous game-playing agents, and various RAG implementations. The collection also includes LLM optimization tools, fine-tuning recipes, and crash courses on agent frameworks, providing practical, ready-to-deploy solutions for common LLM development challenges.
Microsoft's introductory course on building generative AI applications walks you through 21 structured lessons created by Microsoft Cloud Advocates. The curriculum alternates between conceptual 'Learn' lessons and hands-on 'Build' lessons, progressing from LLM fundamentals through advanced topics like RAG, AI agents, and fine-tuning. Each lesson includes a written explanation, video introduction, and working code samples in both Python and TypeScript. Basic Python or TypeScript knowledge is expected. The course supports Azure OpenAI, OpenAI API, Microsoft Foundry Models, and Foundry Local for fully offline execution. With over 50 language translations maintained via automated GitHub Actions, it's accessible to a global developer audience. MIT licensed with an active Discord community and developer forum for peer support.
Trả lời nhanh
Cùng nhóm AI Tools còn repo nào?
linkedin/Liger-Kernel thuộc nhóm AI Tools trên TopGit, cùng 11 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về linkedin/Liger-Kernel ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/linkedin/Liger-Kernel là nguồn chính thức.
linkedin/Liger-Kernel có phải mã nguồn mở không?
Có — linkedin/Liger-Kernel phát hành theo license BSD-2-Clause, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/linkedin/Liger-Kernel.
linkedin/Liger-Kernel có trang demo không?
Dự án có trang chủ ở https://linkedin.github.io/Liger-Kernel/. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
linkedin/Liger-Kernel dùng license gì?
linkedin/Liger-Kernel phát hành theo license BSD-2-Clause. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
linkedin/Liger-Kernel là gì?
linkedin/Liger-Kernel (linkedin/Liger-Kernel) là dự án Python trên GitHub. Theo mô tả gốc: Efficient Triton Kernels for LLM Training
Vì sao linkedin/Liger-Kernel được xếp vào nhóm AI Tools?
TopGit xếp linkedin/Liger-Kernel vào nhóm AI Tools dựa trên GitHub topics và mô tả của repo (gắn thẻ: "finetuning", "gemma2", "hacktoberfest"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về Liger-Kernel?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về Liger-Kernel.

