[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-linkedin--Liger-Kernel":3,"tool-linkedin--Liger-Kernel":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",149489,2,"2026-04-10T11:32:46",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":32,"env_os":94,"env_gpu":95,"env_ram":96,"env_deps":97,"category_tags":103,"github_topics":104,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":147},6244,"linkedin\u002FLiger-Kernel","Liger-Kernel","Efficient Triton Kernels for LLM Training","Liger-Kernel 是一套专为大语言模型（LLM）训练打造的高效 Triton 算子库。在大模型训练过程中，显存占用高和计算速度慢往往是制约效率的瓶颈，Liger-Kernel 正是为了解决这一难题而生。它通过重新实现并优化了包括 RMSNorm、RoPE、SwiGLU 及交叉熵损失在内的关键组件，能够与 Hugging Face 生态无缝集成，让用户无需大幅修改现有代码即可享受性能提升。\n\n实测数据显示，Liger-Kernel 能将多卡训练的吞吐量提升约 20%，同时将显存占用降低高达 60%。这意味着研究人员可以在有限的硬件资源下训练更大的模型，或使用更少的显卡完成相同的任务，显著降低了训练成本与门槛。其核心技术亮点在于利用 Triton 语言编写定制化内核，充分发挥 GPU 算力，并支持 AMD 等多样化硬件环境。\n\n这款工具主要面向 AI 研究员、深度学习工程师以及大模型开发者。如果你正在从事 LLM 的微调、预训练或相关算法研究，希望在不牺牲兼容性的前提下极致优化训练效率，Liger-Kernel 将是一个值得尝试的开源利器。它不仅提供了易于调用的高级 API，也保留","Liger-Kernel 是一套专为大语言模型（LLM）训练打造的高效 Triton 算子库。在大模型训练过程中，显存占用高和计算速度慢往往是制约效率的瓶颈，Liger-Kernel 正是为了解决这一难题而生。它通过重新实现并优化了包括 RMSNorm、RoPE、SwiGLU 及交叉熵损失在内的关键组件，能够与 Hugging Face 生态无缝集成，让用户无需大幅修改现有代码即可享受性能提升。\n\n实测数据显示，Liger-Kernel 能将多卡训练的吞吐量提升约 20%，同时将显存占用降低高达 60%。这意味着研究人员可以在有限的硬件资源下训练更大的模型，或使用更少的显卡完成相同的任务，显著降低了训练成本与门槛。其核心技术亮点在于利用 Triton 语言编写定制化内核，充分发挥 GPU 算力，并支持 AMD 等多样化硬件环境。\n\n这款工具主要面向 AI 研究员、深度学习工程师以及大模型开发者。如果你正在从事 LLM 的微调、预训练或相关算法研究，希望在不牺牲兼容性的前提下极致优化训练效率，Liger-Kernel 将是一个值得尝试的开源利器。它不仅提供了易于调用的高级 API，也保留了供专家深入定制的低级接口，兼顾了易用性与灵活性。","\u003Ca name=\"readme-top\">\u003C\u002Fa>\r\n\r\n# Liger Kernel: Efficient Triton Kernels for LLM Training\r\n\r\n\r\n\u003Ctable style=\"width: 100%; text-align: center; border-collapse: collapse;\">\r\n    \u003Ctr>\r\n        \u003Cth style=\"padding: 10px;\" colspan=\"2\">Stable\u003C\u002Fth>\r\n        \u003Cth style=\"padding: 10px;\" colspan=\"2\">Nightly\u003C\u002Fth>\r\n        \u003Cth style=\"padding: 10px;\">Discord\u003C\u002Fth>\r\n    \u003C\u002Ftr>\r\n    \u003Ctr>\r\n        \u003Ctd style=\"padding: 10px;\">\r\n            \u003Ca href=\"https:\u002F\u002Fpepy.tech\u002Fproject\u002Fliger-kernel\">\r\n                \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_fae08394318e.png\" alt=\"Downloads (Stable)\">\r\n            \u003C\u002Fa>\r\n        \u003C\u002Ftd>\r\n        \u003Ctd style=\"padding: 10px;\">\r\n            \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fliger-kernel\">\r\n                \u003Cimg alt=\"PyPI - Version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fliger-kernel?color=green\">\r\n            \u003C\u002Fa>\r\n        \u003C\u002Ftd>\r\n        \u003Ctd style=\"padding: 10px;\">\r\n            \u003Ca href=\"https:\u002F\u002Fpepy.tech\u002Fproject\u002Fliger-kernel-nightly\">\r\n                \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_fae08394318e.png-nightly\" alt=\"Downloads (Nightly)\">\r\n            \u003C\u002Fa>\r\n        \u003C\u002Ftd>\r\n        \u003Ctd style=\"padding: 10px;\">\r\n            \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fliger-kernel-nightly\">\r\n                \u003Cimg alt=\"PyPI - Version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fliger-kernel-nightly?color=green\">\r\n            \u003C\u002Fa>\r\n        \u003C\u002Ftd>\r\n        \u003Ctd style=\"padding: 10px;\">\r\n            \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FX4MaxPgA\">\r\n                \u003Cimg src=\"https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002Fhttps:\u002F\u002Fdiscord.gg\u002FX4MaxPgA?style=flat\" alt=\"Join Our Discord\">\r\n            \u003C\u002Fa>\r\n        \u003C\u002Ftd>\r\n    \u003C\u002Ftr>\r\n\u003C\u002Ftable>\r\n\r\n\r\n\r\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_334bc21ae983.png\">\r\n\r\n[Installation](#installation) | [Getting Started](#getting-started) | [Examples](#examples) | [High-level APIs](#high-level-apis) | [Low-level APIs](#low-level-apis) | [Cite our work](#cite-this-work)\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>Latest News 🔥\u003C\u002Fsummary>\r\n\r\n  - [2025\u002F12\u002F19] We announced a liger kernel discord channel at https:\u002F\u002Fdiscord.gg\u002FX4MaxPgA; We will be hosting Liger Kernel x Triton China Meetup in mid of January 2026\r\n  - [2025\u002F03\u002F06] We release a joint blog post on TorchTune × Liger - [Peak Performance, Minimized Memory: Optimizing torchtune’s performance with torch.compile & Liger Kernel](https:\u002F\u002Fpytorch.org\u002Fblog\u002Fpeak-performance-minimized-memory\u002F)\r\n  - [2024\u002F12\u002F11] We release [v0.5.0](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Freleases\u002Ftag\u002Fv0.5.0): 80% more memory efficient post training losses (DPO, ORPO, CPO, etc)!\r\n  - [2024\u002F12\u002F5] We release LinkedIn Engineering Blog - [Liger-Kernel: Empowering an open source ecosystem of Triton Kernels for Efficient LLM Training](https:\u002F\u002Fwww.linkedin.com\u002Fblog\u002Fengineering\u002Fopen-source\u002Fliger-kernel-open-source-ecosystem-for-efficient-llm-training)\r\n  - [2024\u002F11\u002F6] We release [v0.4.0](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Freleases\u002Ftag\u002Fv0.4.0): Full AMD support, Tech Report, Modal CI, Llama-3.2-Vision!\r\n  - [2024\u002F10\u002F21] We have released the tech report of Liger Kernel on Arxiv: https:\u002F\u002Farxiv.org\u002Fpdf\u002F2410.10989\r\n  - [2024\u002F9\u002F6] We release v0.2.1 ([X post](https:\u002F\u002Fx.com\u002Fliger_kernel\u002Fstatus\u002F1832168197002510649)). 2500+ Stars, 10+ New Contributors, 50+ PRs, 50k Downloads in two weeks!\r\n  - [2024\u002F8\u002F31] CUDA MODE talk, [Liger-Kernel: Real-world Triton kernel for LLM Training](https:\u002F\u002Fyoutu.be\u002FgWble4FreV4?si=dxPeIchhkJ36Mbns), [Slides](https:\u002F\u002Fgithub.com\u002Fcuda-mode\u002Flectures?tab=readme-ov-file#lecture-28-liger-kernel)\r\n  - [2024\u002F8\u002F23] Official release: check out our [X post](https:\u002F\u002Fx.com\u002Fhsu_byron\u002Fstatus\u002F1827072737673982056)\r\n\r\n\u003C\u002Fdetails>\r\n\r\n\r\n**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](https:\u002F\u002Fgithub.com\u002FDao-AILab\u002Fflash-attention), [PyTorch FSDP](https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fintermediate\u002FFSDP_tutorial.html), and [Microsoft DeepSpeed](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDeepSpeed). We welcome contributions from the community to gather the best kernels for LLM training.\r\n\r\nWe'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](https:\u002F\u002Fx.com\u002Fhsu_byron\u002Fstatus\u002F1866577403918917655).\r\n\r\nYou can view the documentation site for additional installation, usage examples, and API references:https:\u002F\u002Flinkedin.github.io\u002FLiger-Kernel\u002F\r\n\r\nYou can view the Liger Kernel Technical Report: https:\u002F\u002Fopenreview.net\u002Fforum?id=36SjAIT42G\r\n\r\n## Supercharge Your Model with Liger Kernel\r\n\r\n![Banner](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_a94901b94a9e.gif)\r\n\r\nWith 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.\r\n\r\n\r\n| Speed Up                 | Memory Reduction        |\r\n|--------------------------|-------------------------|\r\n| ![Speed up](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_68d8ee500ab2.png) | ![Memory](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_622b36ca1a28.png) |\r\n\r\n> **Note:**\r\n> - Benchmark conditions: LLaMA 3-8B, Batch Size = 8, Data Type = `bf16`, Optimizer = AdamW, Gradient Checkpointing = True, Distributed Strategy = FSDP1 on 8 A100s.\r\n> - Hugging Face models start to OOM at a 4K context length, whereas Hugging Face + Liger Kernel scales up to 16K.\r\n\r\n## Optimize Post Training with Liger Kernel\r\n\r\n\u003Cp align=\"center\">\r\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_2f2f09953e92.png\" width=\"50%\" alt=\"Post Training\">\r\n\u003C\u002Fp>\r\n\r\nWe 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.\r\n\r\n```python\r\nfrom liger_kernel.chunked_loss import LigerFusedLinearORPOLoss\r\norpo_loss = LigerFusedLinearORPOLoss()\r\ny = orpo_loss(lm_head.weight, x, target)\r\n```\r\n\r\n\r\n## Examples\r\n\r\n| **Use Case**                                    | **Description**                                                                                   |\r\n|------------------------------------------------|---------------------------------------------------------------------------------------------------|\r\n| [**Hugging Face Trainer**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Fhuggingface)      | Train LLaMA 3-8B ~20% faster with over 40% memory reduction on Alpaca dataset using 4 A100s with FSDP |\r\n| [**Lightning Trainer**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Flightning)         | Increase 15% throughput and reduce memory usage by 40% with LLaMA3-8B on MMLU dataset using 8 A100s with DeepSpeed ZeRO3 |\r\n| [**Medusa Multi-head LLM (Retraining Phase)**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Fmedusa)        | Reduce memory usage by 80% with 5 LM heads and improve throughput by 40% using 8 A100s with FSDP |\r\n| [**Vision-Language Model SFT**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Fhuggingface\u002Frun_qwen2_vl.sh)      | Finetune Qwen2-VL on image-text data using 4 A100s with FSDP |\r\n| [**Liger ORPO Trainer**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fexamples\u002Falignment\u002Frun_orpo.py)      | Align Llama 3.2 using Liger ORPO Trainer with FSDP with 50% memory reduction |\r\n\r\n## Key Features\r\n\r\n- **Ease of use:** Simply patch your Hugging Face model with one line of code, or compose your own model using our Liger Kernel modules.\r\n- **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.\r\n- **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.\r\n- **Lightweight:** Liger Kernel has minimal dependencies, requiring only Torch and Triton—no extra libraries needed! Say goodbye to dependency headaches!\r\n- **Multi-GPU supported:** Compatible with multi-GPU setups (PyTorch FSDP, DeepSpeed, DDP, etc.).\r\n- **Trainer Framework Integration**: [Axolotl](https:\u002F\u002Fgithub.com\u002Faxolotl-ai-cloud\u002Faxolotl), [LLaMa-Factory](https:\u002F\u002Fgithub.com\u002Fhiyouga\u002FLLaMA-Factory), [SFTTrainer](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftrl\u002Freleases\u002Ftag\u002Fv0.10.1), [Hugging Face Trainer](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Fpull\u002F32860), [SWIFT](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fms-swift), [oumi](https:\u002F\u002Fgithub.com\u002Foumi-ai\u002Foumi\u002Ftree\u002Fmain)\r\n\r\n## Installation\r\n\r\n### Dependencies\r\n\r\n#### CUDA\r\n\r\n- `torch >= 2.1.2`\r\n- `triton >= 2.3.0`\r\n\r\n#### ROCm\r\n\r\n- `torch >= 2.5.0` Install according to the instruction in Pytorch official webpage.\r\n- `triton >= 3.0.0` Install from pypi. (e.g. `pip install triton==3.0.0`)\r\n\r\n```bash\r\npip install -e .[dev]\r\npip3 install --pre torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fnightly\u002Frocm6.3\u002F\r\n```\r\n\r\n### Optional Dependencies\r\n\r\n- `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.\r\n\r\n> **Note:**\r\n> Our kernels inherit the full spectrum of hardware compatibility offered by [Triton](https:\u002F\u002Fgithub.com\u002Ftriton-lang\u002Ftriton).\r\n\r\nTo install the stable version:\r\n\r\n```bash\r\n$ pip install liger-kernel\r\n```\r\n\r\nTo install the nightly version:\r\n\r\n```bash\r\n$ pip install liger-kernel-nightly\r\n```\r\n\r\nTo install from source:\r\n\r\n```bash\r\ngit clone https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel.git\r\ncd Liger-Kernel\r\n\r\n# Install Default Dependencies\r\n# Setup.py will detect whether you are using AMD or NVIDIA\r\npip install -e .\r\n\r\n# Setup Development Dependencies\r\npip install -e \".[dev]\"\r\n\r\n# NOTE -> For AMD users only\r\npip3 install --pre torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fnightly\u002Frocm6.3\u002F\r\n```\r\n\r\n\r\n## Getting Started\r\n\r\nThere are a couple of ways to apply Liger kernels, depending on the level of customization required.\r\n\r\n### 1. Use AutoLigerKernelForCausalLM\r\n\r\nUsing 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.\r\n\r\n```python\r\nfrom liger_kernel.transformers import AutoLigerKernelForCausalLM\r\n\r\n# This AutoModel wrapper class automatically monkey-patches the\r\n# model with the optimized Liger kernels if the model is supported.\r\nmodel = AutoLigerKernelForCausalLM.from_pretrained(\"path\u002Fto\u002Fsome\u002Fmodel\")\r\n```\r\n\r\n### 2. Apply Model-Specific Patching APIs\r\n\r\nUsing the [patching APIs](#patching), you can swap Hugging Face models with optimized Liger Kernels.\r\n\r\n```python\r\nimport transformers\r\nfrom liger_kernel.transformers import apply_liger_kernel_to_llama\r\n\r\n# 1a. Adding this line automatically monkey-patches the model with the optimized Liger kernels\r\napply_liger_kernel_to_llama()\r\n\r\n# 1b. You could alternatively specify exactly which kernels are applied\r\napply_liger_kernel_to_llama(\r\n  rope=True,\r\n  swiglu=True,\r\n  cross_entropy=True,\r\n  fused_linear_cross_entropy=False,\r\n  rms_norm=False\r\n)\r\n\r\n# 2. Instantiate patched model\r\nmodel = transformers.AutoModelForCausalLM(\"path\u002Fto\u002Fllama\u002Fmodel\")\r\n```\r\n\r\n### 3. Compose Your Own Model\r\n\r\nYou can take individual [kernels](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel?tab=readme-ov-file#model-kernels) to compose your models.\r\n\r\n```python\r\nfrom liger_kernel.transformers import LigerFusedLinearCrossEntropyLoss\r\nimport torch.nn as nn\r\nimport torch\r\n\r\nmodel = nn.Linear(128, 256).cuda()\r\n\r\n# fuses linear + cross entropy layers together and performs chunk-by-chunk computation to reduce memory\r\nloss_fn = LigerFusedLinearCrossEntropyLoss()\r\n\r\ninput = torch.randn(4, 128, requires_grad=True, device=\"cuda\")\r\ntarget = torch.randint(256, (4, ), device=\"cuda\")\r\n\r\nloss = loss_fn(model.weight, input, target)\r\nloss.backward()\r\n```\r\n\r\n## High-level APIs\r\n\r\n### AutoModel\r\n\r\n| **AutoModel Variant** | **API** |\r\n|-----------|---------|\r\n| AutoModelForCausalLM | `liger_kernel.transformers.AutoLigerKernelForCausalLM` |\r\n\r\n\r\n### Patching\r\n\r\n| **Model**   | **API**                                                      | **Supported Operations**                                                |\r\n|-------------|--------------------------------------------------------------|-------------------------------------------------------------------------|\r\n| Llama4 (Text) & (Multimodal)      | `liger_kernel.transformers.apply_liger_kernel_to_llama4`   | RMSNorm, LayerNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| LLaMA 2 & 3 | `liger_kernel.transformers.apply_liger_kernel_to_llama`   | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| LLaMA 3.2-Vision | `liger_kernel.transformers.apply_liger_kernel_to_mllama`   | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Ministral   | `liger_kernel.transformers.apply_liger_kernel_to_ministral` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Mistral     | `liger_kernel.transformers.apply_liger_kernel_to_mistral`  | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Mixtral     | `liger_kernel.transformers.apply_liger_kernel_to_mixtral`  | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Nemotron    | `liger_kernel.transformers.apply_liger_kernel_to_nemotron` | ReLUSquared, CrossEntropyLoss, FusedLinearCrossEntropy                  |\r\n| Pixtral     | `liger_kernel.transformers.apply_liger_kernel_to_pixtral`  | RoPE, RMSNorm, SwiGLU|\r\n| Gemma1      | `liger_kernel.transformers.apply_liger_kernel_to_gemma`    | RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| Gemma2      | `liger_kernel.transformers.apply_liger_kernel_to_gemma2`   | RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| Gemma3 (Text)      | `liger_kernel.transformers.apply_liger_kernel_to_gemma3_text`   | RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| Gemma3 (Multimodal)      | `liger_kernel.transformers.apply_liger_kernel_to_gemma3`   | LayerNorm, RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| Paligemma, Paligemma2, & Paligemma2 Mix      | `liger_kernel.transformers.apply_liger_kernel_to_paligemma`   | LayerNorm, RoPE, RMSNorm, GeGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| Qwen2, Qwen2.5, & QwQ      | `liger_kernel.transformers.apply_liger_kernel_to_qwen2`    | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Qwen2-VL, & QVQ       | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_vl`    | RMSNorm, LayerNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Qwen2.5-VL       | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_5_vl`    | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Qwen3   | `liger_kernel.transformers.apply_liger_kernel_to_qwen3`    |  RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy       |\r\n| Qwen3 MoE | `liger_kernel.transformers.apply_liger_kernel_to_qwen3_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy       |\r\n| Qwen3.5      | `liger_kernel.transformers.apply_liger_kernel_to_qwen3_5`    | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy        |\r\n| Phi3 & Phi3.5       | `liger_kernel.transformers.apply_liger_kernel_to_phi3`     | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy         |\r\n| Granite 3.0 & 3.1   | `liger_kernel.transformers.apply_liger_kernel_to_granite`     | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |\r\n| OLMo2   | `liger_kernel.transformers.apply_liger_kernel_to_olmo2`     | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |\r\n| Olmo3   | `liger_kernel.transformers.apply_liger_kernel_to_olmo3`     | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |\r\n| GLM-4   | `liger_kernel.transformers.apply_liger_kernel_to_glm4`     | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |\r\n| GPT-OSS   | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss`     | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |\r\n| InternVL3   | `liger_kernel.transformers.apply_liger_kernel_to_internvl`     | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |\r\n| HunyuanV1   | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense`    |  RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy       |\r\n| HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy       |\r\n\r\n\r\n## Low-level APIs\r\n\r\n- `Fused Linear` kernels combine linear layers with losses, reducing memory usage by up to 80% - ideal for HBM-constrained workloads.\r\n- Other kernels use fusion and in-place techniques for memory and performance optimization.\r\n\r\n### Model Kernels\r\n\r\n| **Kernel**                      | **API**                                                     |\r\n|---------------------------------|-------------------------------------------------------------|\r\n| RMSNorm                         | `liger_kernel.transformers.LigerRMSNorm`                    |\r\n| LayerNorm                       | `liger_kernel.transformers.LigerLayerNorm`                  |\r\n| RoPE                            | `liger_kernel.transformers.liger_rotary_pos_emb`            |\r\n| SwiGLU                          | `liger_kernel.transformers.LigerSwiGLUMLP`                  |\r\n| GeGLU                           | `liger_kernel.transformers.LigerGEGLUMLP`                   |\r\n| CrossEntropy                    | `liger_kernel.transformers.LigerCrossEntropyLoss`           |\r\n| Fused Linear CrossEntropy       | `liger_kernel.transformers.LigerFusedLinearCrossEntropyLoss`|\r\n| Multi Token Attention           | `liger_kernel.transformers.LigerMultiTokenAttention`        |\r\n| Softmax                         | `liger_kernel.transformers.LigerSoftmax`                    |\r\n| Sparsemax                       | `liger_kernel.transformers.LigerSparsemax`                  |\r\n| mHC (Hyper-Connections)         | `liger_kernel.transformers.LigerMHC`                        |\r\n\r\n\r\n### Alignment Kernels\r\n\r\n| **Kernel**                      | **API**                                                     |\r\n|---------------------------------|-------------------------------------------------------------|\r\n| Fused Linear CPO Loss           | `liger_kernel.chunked_loss.LigerFusedLinearCPOLoss`       |\r\n| Fused Linear DPO Loss           | `liger_kernel.chunked_loss.LigerFusedLinearDPOLoss`       |\r\n| Fused Linear ORPO Loss          | `liger_kernel.chunked_loss.LigerFusedLinearORPOLoss`      |\r\n| Fused Linear SimPO Loss         | `liger_kernel.chunked_loss.LigerFusedLinearSimPOLoss`     |\r\n| Fused Linear KTO Loss           | `liger_kernel.chunked_loss.LigerFusedLinearKTOLoss`     |\r\n\r\n### Distillation Kernels\r\n\r\n| **Kernel**                      | **API**                                                     |\r\n|---------------------------------|-------------------------------------------------------------|\r\n| KLDivergence                    | `liger_kernel.transformers.LigerKLDIVLoss`                  |\r\n| JSD                             | `liger_kernel.transformers.LigerJSD`                        |\r\n| Fused Linear JSD                  | `liger_kernel.transformers.LigerFusedLinearJSD`             |\r\n| TVD                             | `liger_kernel.transformers.LigerTVDLoss`                    |\r\n\r\n### Experimental Kernels\r\n\r\n| **Kernel**                      | **API**                                                     |\r\n|---------------------------------|-------------------------------------------------------------|\r\n| Embedding                       | `liger_kernel.transformers.experimental.LigerEmbedding`     |\r\n| Matmul int2xint8                | `liger_kernel.transformers.experimental.matmul` |\r\n\r\n\r\n## Contributing, Acknowledgements, and License\r\n\r\n- [Contributing Guidelines](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fdocs\u002Fcontributing.md)\r\n- [Acknowledgements](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fdocs\u002Facknowledgement.md)\r\n- [License Information](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fdocs\u002Flicense.md)\r\n\r\n## Sponsorship and Collaboration\r\n\r\n- [Glows.ai](https:\u002F\u002Fplatform.glows.ai\u002F): Sponsoring NVIDIA GPUs for our open source developers.\r\n- [AMD](https:\u002F\u002Fwww.amd.com\u002Fen.html): Providing AMD GPUs for our AMD CI.\r\n- [Intel](https:\u002F\u002Fwww.intel.com\u002F): Providing Intel GPUs for our Intel CI.\r\n- [Modal](https:\u002F\u002Fmodal.com\u002F): Free 3000 credits from GPU MODE IRL for our NVIDIA CI.\r\n- [EmbeddedLLM](https:\u002F\u002Fembeddedllm.com\u002F): Making Liger Kernel run fast and stable on AMD.\r\n- [HuggingFace](https:\u002F\u002Fhuggingface.co\u002F): Integrating Liger Kernel into Hugging Face Transformers and TRL.\r\n- [Lightning AI](https:\u002F\u002Flightning.ai\u002F): Integrating Liger Kernel into Lightning Thunder.\r\n- [Axolotl](https:\u002F\u002Faxolotl.ai\u002F): Integrating Liger Kernel into Axolotl.\r\n- [Llama-Factory](https:\u002F\u002Fgithub.com\u002Fhiyouga\u002FLLaMA-Factory): Integrating Liger Kernel into Llama-Factory.\r\n\r\n\r\n## CI status\r\n\r\n\u003Ctable style=\"width: 100%; text-align: center; border-collapse: collapse;\">\r\n    \u003Ctr>\r\n        \u003Cth style=\"padding: 10px;\">Build\u003C\u002Fth>\r\n    \u003C\u002Ftr>\r\n    \u003Ctr>\r\n        \u003Ctd style=\"padding: 10px;\">\r\n            \u003Cdiv style=\"display: block;\">\r\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fnvi-ci.yml\">\r\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fnvi-ci.yml\u002Fbadge.svg?branch=main&event=push\" alt=\"Build\">\r\n                \u003C\u002Fa>\r\n            \u003C\u002Fdiv>\r\n            \u003Cdiv style=\"display: block;\">\r\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Famd-ci.yml\">\r\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Famd-ci.yml\u002Fbadge.svg?branch=main&event=push\" alt=\"Build\">\r\n                \u003C\u002Fa>\r\n            \u003C\u002Fdiv>\r\n            \u003Cdiv style=\"display: block;\">\r\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fintel-ci.yml\">\r\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fintel-ci.yml\u002Fbadge.svg?branch=main&event=push\" alt=\"Build\">\r\n                \u003C\u002Fa>\r\n            \u003C\u002Fdiv>\r\n            \u003Cdiv style=\"display: block;\">\r\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxuedinge233\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fascend_npu_ci.yml\">\r\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fxuedinge233\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fascend_npu_ci.yml\u002Fbadge.svg?branch=main\" alt=\"Build\">\r\n                \u003C\u002Fa>\r\n            \u003C\u002Fdiv>\r\n        \u003C\u002Ftd>\r\n    \u003C\u002Ftr>\r\n\u003C\u002Ftable>\r\n\r\n\r\n\r\n## Contact\r\n\r\n- For issues, create a Github ticket in this repository\r\n- For open discussion, join [our discord channel on GPUMode](https:\u002F\u002Fdiscord.com\u002Fchannels\u002F1189498204333543425\u002F1275130785933951039)\r\n- For formal collaboration, send an email to Yanning Chen(yannchen@linkedin.com) and Zhipeng Wang(zhipwang@linkedin.com)\r\n\r\n## Cite this work\r\n\r\nBiblatex entry:\r\n```bib\r\n@inproceedings{\r\nhsu2025ligerkernel,\r\ntitle={Liger-Kernel: Efficient Triton Kernels for {LLM} Training},\r\nauthor={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},\r\nbooktitle={Championing Open-source DEvelopment in ML Workshop @ ICML25},\r\nyear={2025},\r\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=36SjAIT42G}\r\n}\r\n```\r\n\r\n## Star History\r\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=linkedin\u002FLiger-Kernel&type=Date)](https:\u002F\u002Fwww.star-history.com\u002F#linkedin\u002FLiger-Kernel&Date)\r\n\r\n\u003Cp align=\"right\" style=\"font-size: 14px; color: #555; margin-top: 20px;\">\r\n    \u003Ca href=\"#readme-top\" style=\"text-decoration: none; color: #007bff; font-weight: bold;\">\r\n        ↑ Back to Top ↑\r\n    \u003C\u002Fa>\r\n\u003C\u002Fp>\r\n\r\n\r\n","\u003Ca name=\"readme-top\">\u003C\u002Fa>\n\n# Liger Kernel：用于 LLM 训练的高效 Triton 内核\n\n\u003Ctable style=\"width: 100%; text-align: center; border-collapse: collapse;\">\n    \u003Ctr>\n        \u003Cth style=\"padding: 10px;\" colspan=\"2\">稳定版\u003C\u002Fth>\n        \u003Cth style=\"padding: 10px;\" colspan=\"2\">每日构建版\u003C\u002Fth>\n        \u003Cth style=\"padding: 10px;\">Discord\u003C\u002Fth>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd style=\"padding: 10px;\">\n            \u003Ca href=\"https:\u002F\u002Fpepy.tech\u002Fproject\u002Fliger-kernel\">\n                \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_fae08394318e.png\" alt=\"下载量（稳定版）\">\n            \u003C\u002Fa>\n        \u003C\u002Ftd>\n        \u003Ctd style=\"padding: 10px;\">\n            \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fliger-kernel\">\n                \u003Cimg alt=\"PyPI - 版本\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fliger-kernel?color=green\">\n            \u003C\u002Fa>\n        \u003C\u002Ftd>\n        \u003Ctd style=\"padding: 10px;\">\n            \u003Ca href=\"https:\u002F\u002Fpepy.tech\u002Fproject\u002Fliger-kernel-nightly\">\n                \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_fae08394318e.png-nightly\" alt=\"下载量（每日构建版）\">\n            \u003C\u002Fa>\n        \u003C\u002Ftd>\n        \u003Ctd style=\"padding: 10px;\">\n            \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fliger-kernel-nightly\">\n                \u003Cimg alt=\"PyPI - 版本\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fliger-kernel-nightly?color=green\">\n            \u003C\u002Fa>\n        \u003C\u002Ftd>\n        \u003Ctd style=\"padding: 10px;\">\n            \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FX4MaxPgA\">\n                \u003Cimg src=\"https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002Fhttps:\u002F\u002Fdiscord.gg\u002FX4MaxPgA?style=flat\" alt=\"加入我们的 Discord\">\n            \u003C\u002Fa>\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_334bc21ae983.png\">\n\n[安装](#installation) | [快速入门](#getting-started) | [示例](#examples) | [高级 API](#high-level-apis) | [低级 API](#low-level-apis) | [引用我们的工作](#cite-this-work)\n\n\u003Cdetails>\n  \u003Csummary>最新消息 🔥\u003C\u002Fsummary>\n\n  - [2025\u002F12\u002F19] 我们宣布在 https:\u002F\u002Fdiscord.gg\u002FX4MaxPgA 上开设了 Liger Kernel 的 Discord 频道；我们将于 2026 年 1 月中旬举办 Liger Kernel x Triton 中国线下聚会。\n  - [2025\u002F03\u002F06] 我们发布了 TorchTune × Liger 的联合博客文章——《性能巅峰，内存最小化：使用 torch.compile 和 Liger Kernel 优化 torchtune 性能》。\n  - [2024\u002F12\u002F11] 我们发布了 [v0.5.0](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Freleases\u002Ftag\u002Fv0.5.0)：训练后损失（DPO、ORPO、CPO 等）的内存效率提升了 80%！\n  - [2024\u002F12\u002F5] 我们发布了 LinkedIn 工程博客——《Liger-Kernel：赋能高效的 LLM 训练 Triton 内核开源生态》。\n  - [2024\u002F11\u002F6] 我们发布了 [v0.4.0](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Freleases\u002Ftag\u002Fv0.4.0)：全面支持 AMD，技术报告，Modal CI，Llama-3.2-Vision！\n  - [2024\u002F10\u002F21] 我们已在 Arxiv 上发布了 Liger Kernel 的技术报告：https:\u002F\u002Farxiv.org\u002Fpdf\u002F2410.10989。\n  - [2024\u002F9\u002F6] 我们发布了 v0.2.1（[X 帖子](https:\u002F\u002Fx.com\u002Fliger_kernel\u002Fstatus\u002F1832168197002510649)）。两周内收获超过 2500 颗星，新增 10 多位贡献者，提交了 50 多份 PR，下载量达到 5 万次！\n  - [2024\u002F8\u002F31] CUDA MODE 演讲——《Liger-Kernel：LLM 训练中的实战 Triton 内核》（视频：https:\u002F\u002Fyoutu.be\u002FgWble4FreV4?si=dxPeIchhkJ36Mbns），演示文稿：https:\u002F\u002Fgithub.com\u002Fcuda-mode\u002Flectures?tab=readme-ov-file#lecture-28-liger-kernel。\n  - [2024\u002F8\u002F23] 正式发布：请查看我们的 [X 帖子](https:\u002F\u002Fx.com\u002Fhsu_byron\u002Fstatus\u002F1827072737673982056)。\n\n\u003C\u002Fdetails>\n\n**Liger Kernel** 是一套专为 LLM 训练设计的 Triton 内核集合。它能够有效提升多 GPU **训练吞吐量 20%**，并降低 **内存占用 60%**。我们实现了与 Hugging Face 兼容的 `RMSNorm`、`RoPE`、`SwiGLU`、`CrossEntropy`、`FusedLinearCrossEntropy` 等，并计划推出更多功能。该内核可与 [Flash Attention](https:\u002F\u002Fgithub.com\u002FDao-AILab\u002Fflash-attention)、[PyTorch FSDP](https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fintermediate\u002FFSDP_tutorial.html) 和 [Microsoft DeepSpeed](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDeepSpeed) 即插即用。我们欢迎社区贡献，共同打造最优秀的 LLM 训练内核。\n\n此外，我们还添加了优化的训练后内核，可在对齐和蒸馏任务中实现 **高达 80% 的内存节省**。我们支持 DPO、CPO、ORPO、SimPO、KTO、JSD 等多种损失函数。请参阅 [我们如何优化内存](https:\u002F\u002Fx.com\u002Fhsu_byron\u002Fstatus\u002F1866577403918917655)。\n\n您可以通过以下链接查看文档站点，获取更多安装说明、使用示例和 API 参考：https:\u002F\u002Flinkedin.github.io\u002FLiger-Kernel\u002F\n\n您还可以查看 Liger Kernel 技术报告：https:\u002F\u002Fopenreview.net\u002Fforum?id=36SjAIT42G\n\n## 使用 Liger Kernel 加速您的模型\n\n![横幅](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_a94901b94a9e.gif)\n\n只需一行代码，Liger Kernel 就能使吞吐量提升 20% 以上，同时将内存占用减少 60%，从而支持更长的上下文长度、更大的批量大小以及超大规模词汇表。\n\n| 速度提升                 | 内存减少        |\n|--------------------------|-------------------------|\n| ![速度提升](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_68d8ee500ab2.png) | ![内存](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_622b36ca1a28.png) |\n\n> **注：**\n> - 基准条件：LLaMA 3-8B，批量大小 = 8，数据类型 = `bf16`，优化器 = AdamW，梯度检查点 = 开启，分布式策略 = FSDP1，使用 8 张 A100 显卡。\n> - Hugging Face 模型在 4K 上下文长度时就会出现 OOM 错误，而结合 Liger Kernel 后则可扩展至 16K。\n\n## 使用 Liger Kernel 优化训练后流程\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_readme_2f2f09953e92.png\" width=\"50%\" alt=\"训练后\">\n\u003C\u002Fp>\n\n我们提供了 DPO、ORPO、SimPO 等优化后的训练后内核，可将内存占用降低多达 80%。您可以轻松地将其作为 Python 模块直接使用。\n\n```python\nfrom liger_kernel.chunked_loss import LigerFusedLinearORPOLoss\norpo_loss = LigerFusedLinearORPOLoss()\ny = orpo_loss(lm_head.weight, x, target)\n```\n\n## 示例\n\n| **用例**                                    | **描述**                                                                                   |\n|------------------------------------------------|---------------------------------------------------------------------------------------------------|\n| [**Hugging Face Trainer**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Fhuggingface)      | 使用4张A100显卡和FSDP，在Alpaca数据集上训练LLaMA 3-8B模型，速度提升约20%，显存占用减少超过40% |\n| [**Lightning Trainer**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Flightning)         | 在MMLU数据集上使用8张A100显卡和DeepSpeed ZeRO3，对LLaMA3-8B模型进行训练，吞吐量提升15%，显存占用减少40% |\n| [**Medusa多头LLM（微调阶段）**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Fmedusa)        | 使用8张A100显卡和FSDP，采用5个LM头部的架构，显存占用减少80%，吞吐量提升40% |\n| [**视觉-语言模型SFT**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Ftree\u002Fmain\u002Fexamples\u002Fhuggingface\u002Frun_qwen2_vl.sh)      | 使用4张A100显卡和FSDP，在图像-文本数据上微调Qwen2-VL模型 |\n| [**Liger ORPO Trainer**](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fexamples\u002Falignment\u002Frun_orpo.py)      | 使用Liger ORPO Trainer结合FSDP对Llama 3.2进行对齐训练，显存占用减少50% |\n\n## 核心特性\n\n- **易用性：** 只需一行代码即可为Hugging Face模型打上补丁，或者使用我们的Liger Kernel模块自定义构建模型。\n- **高效节能：** 借鉴Flash-Attn的设计理念，专为**RMSNorm**、**RoPE**、**SwiGLU**和**CrossEntropy**等层优化！通过**内核融合**、**原地替换**和**分块计算**等技术，将多GPU训练的吞吐量提升20%，同时将显存占用降低60%。\n- **精确无误：** 计算完全精确，无任何近似！前向和反向传播均经过严格的单元测试，并与未使用Liger Kernel的训练结果进行收敛性对比，确保准确性。\n- **轻量化：** Liger Kernel依赖极少，仅需Torch和Triton，无需额外库！告别依赖问题带来的烦恼！\n- **多GPU支持：** 兼容多种多GPU训练方案（PyTorch FSDP、DeepSpeed、DDP等）。\n- **训练框架集成：** [Axolotl](https:\u002F\u002Fgithub.com\u002Faxolotl-ai-cloud\u002Faxolotl)、[LLaMa-Factory](https:\u002F\u002Fgithub.com\u002Fhiyouga\u002FLLaMA-Factory)、[SFTTrainer](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftrl\u002Freleases\u002Ftag\u002Fv0.10.1)、[Hugging Face Trainer](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Fpull\u002F32860)、[SWIFT](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fms-swift)、[oumi](https:\u002F\u002Fgithub.com\u002Foumi-ai\u002Foumi\u002Ftree\u002Fmain)\n\n## 安装\n\n### 依赖项\n\n#### CUDA\n\n- `torch >= 2.1.2`\n- `triton >= 2.3.0`\n\n#### ROCm\n\n- `torch >= 2.5.0` 按照PyTorch官网的说明安装。\n- `triton >= 3.0.0` 从pypi安装。（例如：`pip install triton==3.0.0`）\n\n```bash\npip install -e .[dev]\npip3 install --pre torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fnightly\u002Frocm6.3\u002F\n```\n\n### 可选依赖项\n\n- `transformers >= 4.x`：如果您计划使用transformers模型的补丁API，则需要此版本。具体所需的最低版本取决于您正在使用的模型。\n\n> **注意：**\n> 我们的内核继承了[Triton](https:\u002F\u002Fgithub.com\u002Ftriton-lang\u002Ftriton)提供的全面硬件兼容性。\n\n安装稳定版：\n\n```bash\n$ pip install liger-kernel\n```\n\n安装夜间版：\n\n```bash\n$ pip install liger-kernel-nightly\n```\n\n从源码安装：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel.git\ncd Liger-Kernel\n\n# 安装默认依赖\n# setup.py会检测您是使用AMD还是NVIDIA\npip install -e .\n\n# 安装开发依赖\npip install -e \".[dev]\"\n\n# 注意 -> 仅适用于AMD用户\npip3 install --pre torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fnightly\u002Frocm6.3\u002F\n```\n\n## 快速入门\n\n根据所需的自定义程度，有几种方法可以应用Liger内核。\n\n### 1. 使用AutoLigerKernelForCausalLM\n\n使用`AutoLigerKernelForCausalLM`是最简单的方式，因为您无需导入特定于模型的补丁API。如果模型类型受支持，建模代码将自动使用默认设置进行补丁。\n\n```python\nfrom liger_kernel.transformers import AutoLigerKernelForCausalLM\n\n# 这个AutoModel包装类会在模型受支持时自动为其打上优化后的Liger内核补丁。\nmodel = AutoLigerKernelForCausalLM.from_pretrained(\"path\u002Fto\u002Fsome\u002Fmodel\")\n```\n\n### 2. 应用特定于模型的补丁API\n\n通过使用[补丁API](#patching)，您可以将Hugging Face模型替换为优化后的Liger内核。\n\n```python\nimport transformers\nfrom liger_kernel.transformers import apply_liger_kernel_to_llama\n\n# 1a. 添加这一行后，模型会自动被优化后的Liger内核打上补丁。\napply_liger_kernel_to_llama()\n\n# 1b. 您也可以明确指定要应用哪些内核。\napply_liger_kernel_to_llama(\n  rope=True,\n  swiglu=True,\n  cross_entropy=True,\n  fused_linear_cross_entropy=False,\n  rms_norm=False\n)\n\n# 2. 实例化已补丁的模型。\nmodel = transformers.AutoModelForCausalLM(\"path\u002Fto\u002Fllama\u002Fmodel\")\n```\n\n### 3. 自定义构建模型\n\n您可以单独使用[Liger内核](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel?tab=readme-ov-file#model-kernels)来构建自己的模型。\n\n```python\nfrom liger_kernel.transformers import LigerFusedLinearCrossEntropyLoss\nimport torch.nn as nn\nimport torch\n\nmodel = nn.Linear(128, 256).cuda()\n\n# 将线性层和交叉熵层融合在一起，并采用分块计算以减少显存占用。\nloss_fn = LigerFusedLinearCrossEntropyLoss()\n\ninput = torch.randn(4, 128, requires_grad=True, device=\"cuda\")\ntarget = torch.randint(256, (4, ), device=\"cuda\")\n\nloss = loss_fn(model.weight, input, target)\nloss.backward()\n```\n\n## 高级API\n\n### AutoModel\n\n| **AutoModel变体** | **API** |\n|-----------|---------|\n| AutoModelForCausalLM | `liger_kernel.transformers.AutoLigerKernelForCausalLM` |\n\n### 补丁\n\n| **模型**   | **API**                                                      | **支持的操作**                                                |\n|-------------|--------------------------------------------------------------|-------------------------------------------------------------------------|\n| Llama4（文本）和（多模态）      | `liger_kernel.transformers.apply_liger_kernel_to_llama4`   | RMSNorm、LayerNorm、GeGLU、交叉熵损失、融合线性交叉熵         |\n| LLaMA 2 和 3 | `liger_kernel.transformers.apply_liger_kernel_to_llama`   | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| LLaMA 3.2-Vision | `liger_kernel.transformers.apply_liger_kernel_to_mllama`   | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Ministral   | `liger_kernel.transformers.apply_liger_kernel_to_ministral` | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Mistral     | `liger_kernel.transformers.apply_liger_kernel_to_mistral`  | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Mixtral     | `liger_kernel.transformers.apply_liger_kernel_to_mixtral`  | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Nemotron    | `liger_kernel.transformers.apply_liger_kernel_to_nemotron` | ReLUSquared、交叉熵损失、融合线性交叉熵                  |\n| Pixtral     | `liger_kernel.transformers.apply_liger_kernel_to_pixtral`  | RoPE、RMSNorm、SwiGLU|\n| Gemma1      | `liger_kernel.transformers.apply_liger_kernel_to_gemma`    | RoPE、RMSNorm、GeGLU、交叉熵损失、融合线性交叉熵         |\n| Gemma2      | `liger_kernel.transformers.apply_liger_kernel_to_gemma2`   | RoPE、RMSNorm、GeGLU、交叉熵损失、融合线性交叉熵         |\n| Gemma3（文本）      | `liger_kernel.transformers.apply_liger_kernel_to_gemma3_text`   | RoPE、RMSNorm、GeGLU、交叉熵损失、融合线性交叉熵         |\n| Gemma3（多模态）      | `liger_kernel.transformers.apply_liger_kernel_to_gemma3`   | LayerNorm、RoPE、RMSNorm、GeGLU、交叉熵损失、融合线性交叉熵         |\n| Paligemma、Paligemma2 和 Paligemma2 Mix      | `liger_kernel.transformers.apply_liger_kernel_to_paligemma`   | LayerNorm、RoPE、RMSNorm、GeGLU、交叉熵损失、融合线性交叉熵         |\n| Qwen2、Qwen2.5 和 QwQ      | `liger_kernel.transformers.apply_liger_kernel_to_qwen2`    | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Qwen2-VL 和 QVQ       | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_vl`    | RMSNorm、LayerNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Qwen2.5-VL       | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_5_vl`    | RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Qwen3   | `liger_kernel.transformers.apply_liger_kernel_to_qwen3`    | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵       |\n| Qwen3 MoE | `liger_kernel.transformers.apply_liger_kernel_to_qwen3_moe` | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵       |\n| Qwen3.5      | `liger_kernel.transformers.apply_liger_kernel_to_qwen3_5`    | RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵        |\n| Phi3 和 Phi3.5       | `liger_kernel.transformers.apply_liger_kernel_to_phi3`     | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵         |\n| Granite 3.0 和 3.1   | `liger_kernel.transformers.apply_liger_kernel_to_granite`     | RoPE、RMSNorm、SwiGLU、交叉熵损失 |\n| OLMo2   | `liger_kernel.transformers.apply_liger_kernel_to_olmo2`     | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵 |\n| Olmo3   | `liger_kernel.transformers.apply_liger_kernel_to_olmo3`     | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵 |\n| GLM-4   | `liger_kernel.transformers.apply_liger_kernel_to_glm4`     | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵 |\n| GPT-OSS   | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss`     | RoPE、RMSNorm、交叉熵损失、融合线性交叉熵 |\n| InternVL3   | `liger_kernel.transformers.apply_liger_kernel_to_internvl`     | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵 |\n| HunyuanV1   | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense`    | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵       |\n| HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE、RMSNorm、SwiGLU、交叉熵损失、融合线性交叉熵       |\n\n\n## 低级 API\n\n- `Fused Linear` 内核将线性层与损失函数结合，可将内存使用量减少多达 80%，非常适合 HBM 资源受限的工作负载。\n- 其他内核则采用融合和就地技术来优化内存和性能。\n\n### 模型内核\n\n| **内核**                      | **API**                                                     |\n|---------------------------------|-------------------------------------------------------------|\n| RMSNorm                         | `liger_kernel.transformers.LigerRMSNorm`                    |\n| LayerNorm                       | `liger_kernel.transformers.LigerLayerNorm`                  |\n| RoPE                            | `liger_kernel.transformers.liger_rotary_pos_emb`            |\n| SwiGLU                          | `liger_kernel.transformers.LigerSwiGLUMLP`                  |\n| GeGLU                           | `liger_kernel.transformers.LigerGEGLUMLP`                   |\n| 交叉熵                        | `liger_kernel.transformers.LigerCrossEntropyLoss`           |\n| 融合线性交叉熵                | `liger_kernel.transformers.LigerFusedLinearCrossEntropyLoss`|\n| 多令牌注意力                    | `liger_kernel.transformers.LigerMultiTokenAttention`        |\n| Softmax                         | `liger_kernel.transformers.LigerSoftmax`                    |\n| Sparsemax                       | `liger_kernel.transformers.LigerSparsemax`                  |\n| mHC（超连接）                   | `liger_kernel.transformers.LigerMHC`                        |\n\n\n### 对齐内核\n\n| **内核**                      | **API**                                                     |\n|---------------------------------|-------------------------------------------------------------|\n| 融合线性 CPO 损失               | `liger_kernel.chunked_loss.LigerFusedLinearCPOLoss`       |\n| 融合线性 DPO 损失               | `liger_kernel.chunked_loss.LigerFusedLinearDPOLoss`       |\n| 融合线性 ORPO 损失              | `liger_kernel.chunked_loss.LigerFusedLinearORPOLoss`      |\n| 融合线性 SimPO 损失             | `liger_kernel.chunked_loss.LigerFusedLinearSimPOLoss`     |\n| 融合线性 KTO 损失               | `liger_kernel.chunked_loss.LigerFusedLinearKTOLoss`     |\n\n### 蒸馏核函数\n\n| **核函数**                      | **API**                                                     |\n|---------------------------------|-------------------------------------------------------------|\n| KLDivergence                    | `liger_kernel.transformers.LigerKLDIVLoss`                  |\n| JSD                             | `liger_kernel.transformers.LigerJSD`                        |\n| 熔合线性 JSD                  | `liger_kernel.transformers.LigerFusedLinearJSD`             |\n| TVD                             | `liger_kernel.transformers.LigerTVDLoss`                    |\n\n### 实验性核函数\n\n| **核函数**                      | **API**                                                     |\n|---------------------------------|-------------------------------------------------------------|\n| 嵌入                            | `liger_kernel.transformers.experimental.LigerEmbedding`     |\n| Matmul int2xint8                | `liger_kernel.transformers.experimental.matmul` |\n\n\n## 贡献、致谢与许可\n\n- [贡献指南](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fdocs\u002Fcontributing.md)\n- [致谢](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fdocs\u002Facknowledgement.md)\n- [许可信息](https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fblob\u002Fmain\u002Fdocs\u002Flicense.md)\n\n## 赞助与合作\n\n- [Glows.ai](https:\u002F\u002Fplatform.glows.ai\u002F)：为我们的开源开发者赞助 NVIDIA GPU。\n- [AMD](https:\u002F\u002Fwww.amd.com\u002Fen.html)：为我们的 AMD CI 提供 AMD GPU。\n- [Intel](https:\u002F\u002Fwww.intel.com\u002F)：为我们的 Intel CI 提供 Intel GPU。\n- [Modal](https:\u002F\u002Fmodal.com\u002F)：为我们的 NVIDIA CI 提供 GPU MODE IRL 的 3000 积分。\n- [EmbeddedLLM](https:\u002F\u002Fembeddedllm.com\u002F)：使 Liger Kernel 在 AMD 上运行得更快更稳定。\n- [HuggingFace](https:\u002F\u002Fhuggingface.co\u002F)：将 Liger Kernel 集成到 Hugging Face Transformers 和 TRL 中。\n- [Lightning AI](https:\u002F\u002Flightning.ai\u002F)：将 Liger Kernel 集成到 Lightning Thunder 中。\n- [Axolotl](https:\u002F\u002Faxolotl.ai\u002F)：将 Liger Kernel 集成到 Axolotl 中。\n- [Llama-Factory](https:\u002F\u002Fgithub.com\u002Fhiyouga\u002FLLaMA-Factory)：将 Liger Kernel 集成到 Llama-Factory 中。\n\n\n## CI 状态\n\n\u003Ctable style=\"width: 100%; text-align: center; border-collapse: collapse;\">\n    \u003Ctr>\n        \u003Cth style=\"padding: 10px;\">构建\u003C\u002Fth>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd style=\"padding: 10px;\">\n            \u003Cdiv style=\"display: block;\">\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fnvi-ci.yml\">\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fnvi-ci.yml\u002Fbadge.svg?branch=main&event=push\" alt=\"构建\">\n                \u003C\u002Fa>\n            \u003C\u002Fdiv>\n            \u003Cdiv style=\"display: block;\">\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Famd-ci.yml\">\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Famd-ci.yml\u002Fbadge.svg?branch=main&event=push\" alt=\"构建\">\n                \u003C\u002Fa>\n            \u003C\u002Fdiv>\n            \u003Cdiv style=\"display: block;\">\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fintel-ci.yml\">\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fintel-ci.yml\u002Fbadge.svg?branch=main&event=push\" alt=\"构建\">\n                \u003C\u002Fa>\n            \u003C\u002Fdiv>\n            \u003Cdiv style=\"display: block;\">\n                \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxuedinge233\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fascend_npu_ci.yml\">\n                    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fxuedinge233\u002FLiger-Kernel\u002Factions\u002Fworkflows\u002Fascend_npu_ci.yml\u002Fbadge.svg?branch=main\" alt=\"构建\">\n                \u003C\u002Fa>\n            \u003C\u002Fdiv>\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 联系方式\n\n- 如遇问题，请在此仓库中创建 GitHub 问题单。\n- 如需公开讨论，请加入 [GPUMode 的 Discord 频道](https:\u002F\u002Fdiscord.com\u002Fchannels\u002F1189498204333543425\u002F1275130785933951039)。\n- 如有正式合作意向，请发送邮件至 Yanning Chen (yannchen@linkedin.com) 和 Zhipeng Wang (zhipwang@linkedin.com)。\n\n## 引用本工作\n\nBiblatex 条目：\n```bib\n@inproceedings{\nhsu2025ligerkernel,\ntitle={Liger-Kernel: Efficient Triton Kernels for {LLM} Training},\nauthor={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},\nbooktitle={Championing Open-source DEvelopment in ML Workshop @ ICML25},\nyear={2025},\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=36SjAIT42G}\n}\n```\n\n## 星标历史\n[![星标历史图表](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=linkedin\u002FLiger-Kernel&type=Date)](https:\u002F\u002Fwww.star-history.com\u002F#linkedin\u002FLiger-Kernel&Date)\n\n\u003Cp align=\"right\" style=\"font-size: 14px; color: #555; margin-top: 20px;\">\n    \u003Ca href=\"#readme-top\" style=\"text-decoration: none; color: #007bff; font-weight: bold;\">\n        ↑ 返回顶部 ↑\n    \u003C\u002Fa>\n\u003C\u002Fp>","# Liger-Kernel 快速上手指南\n\nLiger Kernel 是一套专为大语言模型（LLM）训练设计的高效 Triton 算子集合。它通过内核融合、原地替换和分块技术，可显著提升多卡训练吞吐量（+20%）并大幅降低显存占用（-60%），支持更长的上下文、更大的批次和词表。\n\n## 环境准备\n\n### 系统要求\n- **GPU**: NVIDIA (CUDA) 或 AMD (ROCm) GPU\n- **Python**: 3.8+\n\n### 前置依赖\n根据硬件平台安装相应版本的 PyTorch 和 Triton：\n\n#### NVIDIA CUDA 用户\n- `torch >= 2.1.2`\n- `triton >= 2.3.0`\n\n#### AMD ROCm 用户\n- `torch >= 2.5.0` (需按 PyTorch 官网 ROCm 指引安装)\n- `triton >= 3.0.0`\n\n> **注意**: 若使用 Transformers 模型的自动补丁功能，需安装 `transformers >= 4.x`。\n\n## 安装步骤\n\n### 方式一：安装稳定版（推荐）\n```bash\npip install liger-kernel\n```\n\n### 方式二：安装每夜构建版（获取最新特性）\n```bash\npip install liger-kernel-nightly\n```\n\n### 方式三：源码安装（适合开发者）\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel.git\ncd Liger-Kernel\n\n# 安装默认依赖（脚本会自动检测 NVIDIA 或 AMD 环境）\npip install -e .\n\n# 或安装开发依赖\npip install -e \".[dev]\"\n\n# AMD 用户额外执行以下命令安装夜间版 PyTorch\npip3 install --pre torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fnightly\u002Frocm6.3\u002F\n```\n\n> **国内加速提示**：如遇下载缓慢，可添加清华或阿里镜像源，例如：\n> ```bash\n> pip install liger-kernel -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\nLiger Kernel 提供多种集成方式，以下是两种最常用的快速接入方法：\n\n### 方法一：自动加载（最简单）\n使用 `AutoLigerKernelForCausalLM` 包装器，无需手动指定模型类型，系统将自动识别并应用优化的算子。\n\n```python\nfrom liger_kernel.transformers import AutoLigerKernelForCausalLM\n\n# 自动对支持的模型应用 Liger Kernel 优化\nmodel = AutoLigerKernelForCausalLM.from_pretrained(\"path\u002Fto\u002Fsome\u002Fmodel\")\n```\n\n### 方法二：手动应用模型补丁\n针对特定模型（如 Llama）手动应用补丁，可精细控制启用的算子类型。\n\n```python\nimport transformers\nfrom liger_kernel.transformers import apply_liger_kernel_to_llama\n\n# 方案 A：自动应用所有可用优化\napply_liger_kernel_to_llama()\n\n# 方案 B：自定义启用特定的算子\napply_liger_kernel_to_llama(\n  rope=True,\n  swiglu=True,\n  cross_entropy=True,\n  fused_linear_cross_entropy=False,\n  rms_norm=False\n)\n\n# 实例化模型（此时已包含优化算子）\nmodel = transformers.AutoModelForCausalLM.from_pretrained(\"path\u002Fto\u002Fllama\u002Fmodel\")\n```\n\n### 进阶：后训练优化（对齐与蒸馏）\n针对 DPO、ORPO 等后训练任务，可直接调用优化的损失函数模块以节省高达 80% 的显存。\n\n```python\nfrom liger_kernel.chunked_loss import LigerFusedLinearORPOLoss\n\norpo_loss = LigerFusedLinearORPOLoss()\ny = orpo_loss(lm_head.weight, x, target)\n```","某 AI 初创团队正在使用 8 张 H100 显卡对 Llama-3-70B 大模型进行全量微调，以适配垂直领域的客服对话任务。\n\n### 没有 Liger-Kernel 时\n- **显存频繁溢出**：在开启较大批次大小（Batch Size）时，标准的 PyTorch 算子导致显存占用过高，训练进程频频因 OOM（内存不足）崩溃，被迫不断缩小批次。\n- **训练速度缓慢**：由于缺乏底层算子融合，GPU 计算单元等待数据搬运的时间过长，多卡并行下的整体吞吐量难以提升，预计完整训练周期需耗时两周。\n- **代码改造复杂**：若要手动编写高效的 Triton 内核来优化 RMSNorm 或 CrossEntropy 等关键算子，需要深厚的 CUDA 编程功底，研发门槛极高且容易出错。\n- **资源成本高昂**：低效的硬件利用率导致云计算账单激增，有限的预算无法支撑长时间的实验迭代。\n\n### 使用 Liger-Kernel 后\n- **显存占用骤降**：Liger-Kernel 通过高效的内核实现将显存使用量降低了 60%，团队得以将批次大小翻倍，彻底解决了 OOM 问题，训练过程稳定流畅。\n- **吞吐性能飞跃**：得益于算子融合技术，多卡训练吞吐量提升了 20%，原本两周的训练任务现在仅需不到三天即可完成，大幅加速了模型迭代。\n- **无缝集成体验**：只需几行代码即可替换 Hugging Face 兼容的算子（如 RoPE、SwiGLU），无需重写底层逻辑，普通算法工程师也能轻松上手。\n- **成本显著优化**：更高的硬件利用率直接缩短了云端租赁时间，在同等预算下可支持更多轮次的超参数调优实验。\n\nLiger-Kernel 通过底层算子的极致优化，让大模型训练在节省六成显存的同时提速两成，真正实现了“花更少的钱，训更快的模型”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flinkedin_Liger-Kernel_68d8ee50.png","linkedin","LinkedIn","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flinkedin_6cc13b63.png","",null,"oss@linkedin.com","https:\u002F\u002Fengineering.linkedin.com","https:\u002F\u002Fgithub.com\u002Flinkedin",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",99.9,{"name":87,"color":88,"percentage":89},"Makefile","#427819",0.1,6267,510,"2026-04-10T03:37:15","BSD-2-Clause","Linux","必需。支持 NVIDIA GPU (CUDA) 和 AMD GPU (ROCm)。README 示例中使用了 A100，具体显存需求取决于模型大小和上下文长度（相比原生可节省 60% 显存）。","未说明",{"notes":98,"python":96,"dependencies":99},"1. 该工具核心依赖 Triton，继承了 Triton 的硬件兼容性范围。2. 针对 AMD 用户，需安装特定的 nightly 版 PyTorch (rocm6.3)。3. 支持多 GPU 训练环境（如 PyTorch FSDP, DeepSpeed, DDP）。4. 提供稳定版和 nightly 版安装包。5. 能够与 Flash Attention 协同工作。",[100,101,102],"torch>=2.1.2 (CUDA) \u002F torch>=2.5.0 (ROCm)","triton>=2.3.0 (CUDA) \u002F triton>=3.0.0 (ROCm)","transformers>=4.x (可选，用于模型修补 API)",[35,14],[105,106,107,108,109,110,111,112,113,114,115],"llm-training","triton","finetuning","gemma2","llama","llama3","llms","mistral","phi3","triton-kernels","hacktoberfest","2026-03-27T02:49:30.150509","2026-04-10T20:32:37.552319",[119,124,129,134,139,143],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},28245,"Liger Kernel 是否支持 Ascend NPU 的 CI 集成？","由于最新的法律和贸易合规限制（BIS GP10），官方无法将 Ascend 平台集成到现有的 CI 基础设施中，也无法托管相关的运行器。不过，Liger-Kernel 仍然是开源项目，社区成员可以自由维护自己的分支或搭建外部 CI 环境来独立支持该硬件。","https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fissues\u002F1022",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},28246,"如何获取包含最新 Hugging Face Transformers API 变更的 Liger Kernel 版本？","维护者已发布新版本 `0.5.9` 以同步相关变更。如果您之前尝试使用 `pip install liger-kernel-nightly` 遇到 `PackageNotFoundError` 错误，请改用正式发布的版本：`pip install liger-kernel==0.5.9`。","https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fissues\u002F675",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},28247,"在使用 PEFT 和 BitsAndBytesConfig 进行量化微调时遇到 \"self and mat2 must have the same dtype\" 类型错误怎么办？","这是一个已知的数据类型不匹配问题。临时解决方法是手动修改源码，注释掉 `src\u002Fliger_kernel\u002Fops\u002Ffused_linear_cross_entropy.py` 文件中第 103 行的代码。该问题已在后续的 PR #238 中得到修复，建议更新到包含该修复的版本。","https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fissues\u002F235",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},28248,"Liger Kernel 是否支持自动补丁所有模型架构，而无需针对特定模型编写代码？","目前 Liger Kernel 主要针对特定支持的模型架构（如 Llama, Mistral 等）进行优化补丁。虽然社区曾提出通过比较模块字节码（bytecode）来实现“模型无关”的自动补丁方案，但官方尚未完全实现通用的 `apply_liger_kernel_to_all_modules` 功能。建议查阅官方文档确认您的模型架构是否在支持列表中。","https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fissues\u002F70",{"id":140,"question_zh":141,"answer_zh":142,"source_url":133},28249,"为什么我的量化模型在全量微调时仍然报错 dtype 不匹配？","即使在全量微调（Full Fine-tuning）场景下，如果使用了量化模型（如 llama3.2 3b 或 qwen2.5 3b 的量化版本），仍可能遇到 `addmm` 操作中的 bfloat16 与 float32 类型不匹配问题。请确保应用了针对 `fused_linear_cross_entropy` 的修复补丁（参考 Issue #235 的解决方案），或者检查是否混用了不同精度的权重和激活值。",{"id":144,"question_zh":145,"answer_zh":146,"source_url":123},28250,"Liger Kernel 对哪些硬件平台提供了原生的 CI 支持？","目前 Liger Kernel 原生支持以下平台的 CI 监控：NVIDIA GPU (CUDA) 通过 Modal CI；AMD GPU (ROCm) 和 Intel GPU (XPU) 通过自托管运行器（self-hosted runner）。Ascend NPU 虽有代码层面的后端支持，但因合规原因暂无官方 CI 集成。",[148,153,158,163,168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243],{"id":149,"version":150,"summary_zh":151,"released_at":152},189123,"v0.7.0","## 🚀 Liger-Kernel 现已全面支持 Transformers v5\n\n我们现已添加对 **Transformers v5** 的全面支持！  \n🔗 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F994\n\nLiger 现在支持 **所有 🤗 Transformers 版本 ≥ 4.52.0**，包括最新的 v5 版本。\n\n更广泛的兼容性。无缝升级。无需担心版本问题。\n\n感谢所有贡献者！\n\n## 变更内容\n* @yukiu00 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1054 中为 LigerFusedLinearGRPOLoss 添加了 CISPO 损失类型支持。\n* @xuedinge233 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1071 中更新了 checkstyle 并修复了格式问题。\n* @yukiu00 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1073 中为 LigerFusedLinearGRPOLoss 添加了 SAPO 损失类型支持。\n* [NPU]：@TianHao324 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1055 中对 NPU 进行了自适应优化。\n* [NPU]：@lowdy1 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1053 中为 NPU 上的 Llama4_rope 实现了频率融合。\n* @yukiu00 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1074 中为 Triton GRPO 损失核增加了 CISPO 和 SAPO 损失类型的支持。\n* @yukiu00 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1088 中为 GRPO 损失增加了 vLLM 重要性采样比例支持。\n* 为修复 flaky 测试，放宽了 mini-llama4 的 logp 相对容差。@kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1089 中完成了此项更改。\n* 将单元测试移至合并队列。@kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1069 中完成了此项更改。\n* 修复单元测试。@kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1092 中完成了此项更改。\n* 合并队列测试。@kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1095 中完成了此项更改。\n* 对合并队列中的 NVIDIA 测试进行了调整。@kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1097 中完成了此项更改。\n* @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F994 中实现了对 Transformers v5 的支持。\n* 为降低成本，移除了最新的 v4 测试。@Mecoli1219 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1098 中完成了此项更改。\n* [模型]：@AndreSlavescu 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F253 中增加了对 Pixtral 的支持。\n* [NPU]：@TianHao324 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1099 中优化了 NPU 上的 rms_norm 核心。\n* [NPU]：@TianHao324 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1070 中优化了 NPU 上的 fused_add_rms_norm 核心。\n* [NPU]：@TianHao324 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1049 中增加了对 grpo 损失的支持。\n* @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1102 中更新了 pyproject.toml 文件，以准备 v0.7.0 版本的发布。\n\n## 新贡献者\n* @xuedinge233 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F1071 中完成了他们的首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.6.5...v0.7.0","2026-02-12T22:00:32",{"id":154,"version":155,"summary_zh":156,"released_at":157},189124,"v0.6.5","## 变更内容\n* 修复 bug，确保 Llama 模式下 RMSNorm 反向传播中 dW 的 FP32 累加，由 @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F950 中完成。\n* 添加 Ascend NPU 设备支持。由 @Ginray 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F955 中完成。\n* 在 gemma 中定义 shift_labels，由 @akoumpa 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F961 中完成。\n* [功能]：添加对 gpt-oss 的支持，由 @yeshsurya 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F949 中完成。\n* 更新 README.md，由 @PKUWZP 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F970 中完成。\n* 修复 qwen3vl 的 `apply_rotary_pos_emb_vision`，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F967 中完成。\n* [重构]：解耦不同厂商的算子实现，由 @pillumina 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F973 中完成。\n* 修复：修正 JSD 蒸馏损失中 ignore_index 未生效的问题，由 @roycho96 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F974 中完成。\n* CI：跳过 NPU 的部分 rms_norm 测试用例，并将 torch-npu 升级至 2.7.1，由 @ji-huazhong 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F977 中完成。\n* 修复多模态模型中缺失的属性访问问题，由 @albertvillanova 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F966 中完成。\n* 修复蒸馏损失参数缺失的 bug。由 @kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F983 中完成。\n* 添加 `AutoLigerKernelForCausalLM.from_config`，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F962 中完成。\n* 修复 geglu，由 @konstantinos-p 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F986 中完成。\n* 更新 Discord 频道链接及 meetup 公告，由 @momochen 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F984 中完成。\n* [NPU]：调整使用 fused_linear_cross_entropy 时的 MAX_FUSED_SIZE，由 @zheliuyu 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F985 中完成。\n* [RMSNorm]：通过移除 rows_per_program 上的 tl.constexpr 并清理 Block 内核接口，修复 JIT 重新编译问题，由 @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F988 中完成。\n* [功能]：为 LigerRMSNorm 添加 elementwise_affine 参数，由 @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F989 中完成。\n* [修复]：处理修补模型中 RMSNorm extra_repr 缺失 'elementwise_affine' 的情况，由 @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F990 中完成。\n* [修复]：为兼容 Triton 3.2，在 `liger_cross_entropy_kernel` 中用 `tl.where` 替代条件流，由 @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F991 中完成。\n* 功能（NPU）：添加 UB Manager 以自动管理分块策略，由 @noemotiovon 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F987 中完成。\n* [NPU]：为 mrope 算子添加 NPU 支持，由 @TianHao324 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F992 中完成。\n* 将 RMS 层归一化改为接受 DTensor，由 @kolehma8 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F982 中完成。\n* [NPU]：为 swiglu 添加 NPU 支持，由 @jiaqiw09 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F995 中完成。\n* 修复：防止基准测试工作流中的命令注入，由 @arde171 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F997 中完成。","2026-02-04T02:01:46",{"id":159,"version":160,"summary_zh":161,"released_at":162},189125,"v0.6.4","## 亮点\n\n新模型架构：\nQwen3-VL、hunyuanv1、Olmo3\n\n新算法：\nDAPO损失\n\n优化：\nLayerNorm反向传播、Tiled MLP\n\n## 变更内容\n* 在使用蒸馏时，可选择返回硬损失和软损失，由 @h-aurelien-lac 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F895 中实现。\n* 修复交叉熵补丁，并为 InternVL 添加 LayerNorm 支持，由 @MilkClouds 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F921 中完成。\n* fix(ci)：修改 Glm4vMoe 配置以进行收敛性测试，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F918 中完成。\n* 支持 Qwen3-VL 模型，由 @mayankagarwals 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F911 中实现。\n* 样式：修复主分支格式，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F929 中完成。\n* 修复：在 flce no_grad 路径上初始化 grad_weight 和 grad_bias，由 @keatonelvins 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F931 中完成。\n* 修复 Qwen3 相关测试，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F933 中完成。\n* [交叉熵损失]：结合 CE 损失返回平均分词准确率指标，由 @kashif 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F910 中实现。\n* 处理不同 Transformer 版本的 aux_loss，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F934 中完成。\n* 添加 TiledMLP 实现，由 @upskyy 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F935 中完成。\n* [Qwen3]：若 Qwen3 与 PEFT 配置一同使用，PEFT 会添加 opcl obj no…，由 @yeshsurya 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F926 中完成。\n* 增加模态测试的时间限制，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F947 中完成。\n* 添加 hunyuanv1 密集型和 MoE 模型，由 @Kingsleyandher 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F940 中完成。\n* Olmo3 模型支持 [已准备好评审]，由 @tyler-romero 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F946 中完成。\n* [GRPO]：添加对 DAPO 损失的支持，由 @kashif 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F939 中完成。\n* [性能]：优化 LayerNorm 反向传播：用持久化归约替换原子操作，由 @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F945 中完成。\n\n## 新贡献者\n* @h-aurelien-lac 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F895 中完成了首次贡献。\n* @mayankagarwals 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F911 中完成了首次贡献。\n* @keatonelvins 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F931 中完成了首次贡献。\n* @upskyy 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F935 中完成了首次贡献。\n* @yeshsurya 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F926 中完成了首次贡献。\n* @Kingsleyandher 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F940 中完成了首次贡献。\n* @niyunsheng 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F945 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.6.3...v0.6.4","2025-11-21T22:48:51",{"id":164,"version":165,"summary_zh":166,"released_at":167},189126,"v0.6.3","本版本亮点：\n\n新模型架构支持：\nSmolVLM2、GLM4.5V、InternVL3、Falcon-H1、Qwen-Next\n\n新算法：\nGSPO\n\n## 变更内容\n* [交叉熵损失] @kashif 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F860 中添加了对 DFT 标志的支持\n* 修复（测试）：@vvvdwbvvv 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F859 中更新了 GLM4 实例打补丁测试中的断言\n* 修复 LigerFusedLinearJSDLoss 的 NaN 损失错误，由 @ParagEkbote 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F862 中完成\n* [交叉熵] 获取有效的预测概率，由 @kashif 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F864 中实现\n* 增强文档，由 @ParagEkbote 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F867 中完成\n* 为 Liger-Kernel 添加分类器，由 @ParagEkbote 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F869 中完成\n* 文档（MTA）：抑制无效序列语法警告，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F870 中完成\n* 添加 GSPO，由 @BjarniHaukur 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F845 中完成\n* 添加 GLM4.5V 支持，由 @vvvdwbvvv 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F863 中完成\n* 修复 Issue #872，由 @yshenaw 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F879 中完成\n* 为 liger-kernel 添加 pytest 覆盖率，由 @ParagEkbote 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F876 中完成\n* 将所有 torch_dtype 替换为 dtype，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F881 中完成\n* 更新开发依赖，由 @ParagEkbote 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F886 中完成\n* 修复 AMD CI 问题 #793，由 @DevManpreet5 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F887 中完成\n* 修复（层归一化）：移除针对 torch.compile 的 `n_cols` 上转型操作，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F884 中完成\n* 修复测试和 CI，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F882 中完成\n* 移除每日测试 Cron 作业，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F890 中完成\n* [单元测试] [XPU] 修改 XPU 的测试用例以适配 triton3.5，由 @YangKai0616 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F889 中完成\n* 添加 InternVL3 支持，由 @MilkClouds 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F878 中完成\n* 修复（FLCE）：将 `shift_labels` 添加为评估模式下的损失条件，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F888 中完成\n* 为 liger kernels 添加 Falcon-H1 模型支持，由 @puneeshkhanna 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F900 中完成\n* 不部署 mkdocs 以修复基准测试，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F904 中完成\n* 禁用 transformers\u003C4.51.0 中的 mllama 多模态测试，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F899 中完成\n* 为 FalconH1ForCausalLM 添加 FLCE 前向传播，并补充缺失的测试，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F903 中完成\n* 功能（CE、FLCE）：在 no_grad 模式下解耦梯度计算，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F894 中完成\n* 修复（Llama4）：为 Llama4 的 MoE 层获取正确的 swiglu 补丁目标，由 @alenawang 在 https:\u002F","2025-10-27T18:30:01",{"id":169,"version":170,"summary_zh":171,"released_at":172},189127,"v0.6.2","## 变更内容\n* 自动化基准测试 - 修复问题。由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F836 中完成\n* 将路径变量全局化。由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F840 中完成\n* 添加对 apo 损失、sppo_hard 和 nca_pair 的支持。由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F841 中完成\n* 为 `FusedLinearCrossEntropy` 添加 `accum_dtype` 选项。由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F830 中完成\n* 修复 CI 测试。由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F847 中完成\n* 文档（README）：修复 Intel CI 链接。由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F842 中完成\n* Llama4 RoPE 实现。由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F843 中完成\n* 修复 (phi3)：更新 `Phi3ForCausalLM` 的猴子补丁。由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F837 中完成\n* 功能（FLCE）：为 Hugging Face 模型的猴子补丁暴露 `accum_dtype`。由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F851 中完成\n* 修复 CI。由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F853 中完成\n* 修复低级 API 导入缺失的问题。由 @Kirill-Kravtsov 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F856 中完成\n* 添加 glm4.1v 模型支持。由 @vvvdwbvvv 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F858 中完成\n* 将 pyproject.toml 版本更新至 0.6.2。由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F861 中完成\n\n## 新贡献者\n* @Kirill-Kravtsov 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F856 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.6.1...v0.6.2","2025-08-22T00:15:06",{"id":174,"version":175,"summary_zh":176,"released_at":177},189128,"v0.6.1","## 变更内容\n* 修复 gemma3 的 forward 操作，支持 skip_logits 功能，由 @BitPhinix 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F795 中完成。\n* 更新 README.md 文件，由 @PKUWZP 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F808 中完成。\n* 修复轻微的拼写错误，由 @hugoabonizio 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F809 中完成。\n* 再次更新 README.md 文件，由 @PKUWZP 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F811 中完成。\n* 修复 backward 传播的 embedding 基准测试问题，由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F799 中完成。\n* 增加更新先前提交基准测试结果的选项，由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F791 中完成。\n* 【模型】为 SmolLM3 添加 Liger 支持，由 @edbeeching 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F798 中完成。\n* FusedAddRMSNorm：融合残差加法与 RMS 归一化操作，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F812 中完成。\n* 在 tests-bwd 中跳过 smollm3 的测试，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F821 中完成。\n* 层归一化功能增强，由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F815 中完成。\n* 更新 README.md 文件，由 @PKUWZP 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F823 中完成。\n* 更新 index.md 文件，由 @PKUWZP 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F824 中完成。\n* 移除文件顶部的 smollm3 导入语句，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F825 中完成。\n* 通过将 program_id 强制转换为 int64 类型，修复 Triton RMSNorm 核心中的非法内存访问问题，由 @vvvdwbvvv 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F804 中完成。\n* 修复(benchmark)：将分块损失模块的初始化移出测量部分，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F643 中完成。\n* 【XPU】修复了传递多个 num_warps 参数的问题，由 @YangKai0616 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F831 中完成。\n* 自动化基准测试——针对每次发布，由 @Manan17 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F828 中完成。\n* 还原“Bug Fix: 模块名称修补”更改，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F833 中完成。\n* 修补模块中的 Bug 修复，由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F834 中完成。\n* 文档(README)：修复 gpumode Discord 徽章，由 @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F835 中完成。\n* 将 pyproject.toml 版本更新至 0.6.1，由 @shimizust 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F838 中完成。\n\n## 新贡献者\n* @BitPhinix 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F795 中完成了首次贡献。\n* @PKUWZP 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F808 中完成了首次贡献。\n* @hugoabonizio 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F809 中完成了首次贡献。\n* @edbeeching 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F798 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.6.0...v0.6.1","2025-07-28T18:36:39",{"id":179,"version":180,"summary_zh":181,"released_at":182},189129,"v0.6.0","## 亮点\n\n本次发布对 Liger-Kernel 进行了重大改进，包括新增算子、支持 Llama 4 模型、更 robust 的基准测试自动化，以及针对视觉-语言模型（VLM）补丁的关键修复，这些修复是由于近期 transformers 库的重构而引入的。\n\n## 主要变更\n\n### 新功能与改进\n\n- 多 Token 注意力，由 @AndreSlavescu 实现 (#689)\n- 融合邻域注意力，由 @AndreSlavescu 实现 (#732)\n- 用于蒸馏的余弦相似度损失，由 @Dexterai 实现 (#780)\n- 支持 Llama 4，由 @Manan17 实现 (#740)\n- 提供选择融合 LCE\u002FCE 损失的选项，由 @connermanuel 实现 (#704)\n- 为 QK 归一化添加 block_rms_norm，由 @mdy666 实现 (#731)\n\n### Bug 修复\n\n- 最新版本的 transformers 库（>=4.52.0）中视觉-语言模型的补丁：\n  - Qwen2vl、Qwen2_5_vl，由 @Tcc0403 实现 (#728, #738)\n  - Llava，由 @Tcc0403 和 @Manan17 共同实现 (#714, #743, #751)\n  - Gemma3，由 @shimizust 和 @Tcc0403 共同实现 (#735, #787, #790)；\n- RMS 归一化的补丁，由 @vaibhavjindal 和 @BenasdTW 共同完成 (#741, #765)\n- Hugging Face forward kwargs 修复，由 @llllvvuu 完成 (#708)\n- 修复 tanh 导入问题，由 @jue-jue-zi 完成 (#762)\n- 对实例应用猴子补丁，由 @YangKai0616 完成 (#772)\n\n### 文档与 CI 修复\n\n- 将 MkDocs 部署至 GitHub Pages，由 @ParagEkbote 完成 (#724)\n- 更加 robust 的文档更新，由 @ParagEkbote 完成 (#726, #727)\n- 忽略 .idea 文件，由 @Tcc0403 完成 (#784)\n- ReadMe、MTA 和 softmax 相关文档，由 @AndreSlavescu 完成 (#730)\n- 放宽 DyT 精度要求，跳过 XPU 上的 MTA 测试，由 @Tcc0403 完成 (#778)\n- Paligemma 测试修复，由 @vvvdwbvvv 完成 (#785)\n- 样式与测试修复，由 @Tcc0403 和 @vaibhavjindal 共同完成 (#736, #794)\n- 为多模态测试添加 torchvision，由 @Tcc0403 完成 (#755)\n\n### 基准测试与自动化\n\n- 在 GitHub Pages 中实现自动化的基准测试和可视化界面，由 @Manan17 完成 (#744, #747, #749, #752, #753, #756, #759, #760, #770, #779)\n\n## 新贡献者\n* @connermanuel 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F704 中完成了首次贡献\n* @llllvvuu 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F708 中完成了首次贡献\n* @jue-jue-zi 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F762 中完成了首次贡献\n* @YangKai0616 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F772 中完成了首次贡献\n* @Dexterai 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F780 中完成了首次贡献\n* @vvvdwbvvv 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F785 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.10...v0.6.0","2025-07-09T05:05:00",{"id":184,"version":185,"summary_zh":186,"released_at":187},189130,"v0.5.10","## 变更内容\n* 由 @KareemMusleh 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F702 中修复了 zip 相关的 bug\n* [dpo] 由 @cyr0930 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F693 中将 default average_log_prob 设置为 False\n* 由 @momochen 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F707 中降低了构建状态的优先级\n* 由 @chiwanpark 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F706 中添加了对 Qwen3 MoE 模型的支持\n* 由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F710 中修复了 Qwen3_moe 不稳定的收敛性测试\n* 由 @chiwanpark 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F698 中修复了 Medusa 头部张量为空的问题\n* 由 @AndreSlavescu 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F687 中实现了 Sparsemax\n* 修复：由 @NanoCode012 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F712 中移除了 Transformer 补丁中的文档字符串导入\n* 由 @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F718 中将测试超时时间增加至 45 分钟\n* 由 @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F719 中修复了模态测试\n* 由 @AndreSlavescu 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F717 中更新了可视化工具\n* 由 @AndreSlavescu 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F716 中补充了 Sparsemax 的文档\n* 由 @mdy666 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F673 中实现的逐元素 DyT 比原生 LigerDyT 更快\n* 由 @mdy666 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F672 中使用 Triton 完全重写 GRPO Loss 核心，内存占用减少了 46G\n* 由 @astefanutti 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F674 中使 FLCE 兼容 FSDP 和 PEFT\n* 由 @BenasdTW 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F632 中修复了在使用 LoRA 并指定 modules_to_save 时模块打补丁不正确的问题\n* [XPU] 由 @Egor-Krivov 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F720 中更改了 `setup.py` 过程中 XPU 发现的方式\n* 由 @shimizust 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F722 中修复了在向 main 分支推送时发布文档的问题\n* 由 @shimizust 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F725 中发布了 0.5.10 版本\n\n## 新贡献者\n* @KareemMusleh 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F702 中做出了首次贡献\n* @cyr0930 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F693 中做出了首次贡献\n* @NanoCode012 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F712 中做出了首次贡献\n* @mdy666 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F673 中做出了首次贡献\n* @astefanutti 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F674 中做出了首次贡献\n* @Egor-Krivov 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F720 中做出了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.9...v0.5.10","2025-05-22T17:52:12",{"id":189,"version":190,"summary_zh":191,"released_at":192},189131,"v0.5.9","## 变更内容\n* @faaany 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F668 中更新了 setup.py，以便在 XPU 上进行安装。\n* @faaany 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F669 中更新了 XPU CI 的 YAML 文件，以使用 Docker 容器。\n* @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F676 中将 average_log_prob 添加为 LigerFusedLinearDPOLoss 的初始化参数。\n* @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F683 中添加了标签偏移更改。\n* @faaany 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F686 中移除了可在 XPU 上通过的测试。\n* @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F691 中更新了 mkdocs.yml。\n* @Tcc0403 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F680 中修复了 LigerCrossEntropy 的 reduction='none' 问题。\n* @intervitens 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F685 中增加了对 GLM-4 模型的支持。\n* @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F695 中在函数中本地导入 glm4_lce_forward。\n* @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F692 中增加了对 Qwen3 模型的支持。\n* @vaibhavjindal 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F696 中为训练运行使用 logits_to_keep 逻辑。\n* @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F697 中提高了 gemma3 多模态收敛测试的损失容差值 atol。\n* @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F700 中更新了 pyproject.toml。\n\n## 新贡献者\n* @intervitens 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F685 中做出了首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.8...v0.5.9","2025-05-04T19:47:57",{"id":194,"version":195,"summary_zh":196,"released_at":197},189132,"v0.5.8","## 变更内容\n* 由 @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F666 中实现的向后兼容初始化\n* 由 @shivam15s 在 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F667 中更新的 pyproject.toml 文件\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.7...v0.5.8","2025-04-12T16:44:09",{"id":199,"version":200,"summary_zh":201,"released_at":202},189133,"v0.5.7","## What's Changed\r\n* Gemma3 (Text and Multimodal) by @eljandoubi in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F621\r\n* Make FLCE compatible with latest `XXXForCausalLM.forward()` APIs by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F596\r\n* do bias addition in tests in float32 to make testing code similar to torch compile by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F655\r\n* [CI] fix siglip dummy config by @yundai424 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F658\r\n* add XPU tuning to JSD by @rmukhopa in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F649\r\n* add XPU tuning to Rmsnorm and Layernorm by @Tarakarevu1 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F653\r\n* Fix imports without transformers by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F659\r\n* Use TYPE_CHECKING to fix static-only imports in IDEs etc by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F660\r\n* [kl_div] Modified block and warp sizes for improved performance by @jgtong in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F654\r\n* [GRPO] add support for different loss types by @kashif in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F662\r\n* Remove unexpected kwargs passing to flce by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F651\r\n* reduce number of tests for grpo by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F663\r\n* Update pyproject.toml by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F665\r\n\r\n## New Contributors\r\n* @rmukhopa made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F649\r\n* @Tarakarevu1 made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F653\r\n* @jgtong made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F654\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.6...v0.5.7","2025-04-12T00:49:16",{"id":204,"version":205,"summary_zh":206,"released_at":207},189134,"v0.5.6","## What's Changed\r\n* [JSD] JSD fixes by @kashif in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F609\r\n* Paligemma support by @eljandoubi in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F608\r\n* Fix hidden size by @eljandoubi in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F612\r\n* Add loss_utils for rewriting lce_forward methods by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F614\r\n* Update Star History URL by @ryankert01 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F616\r\n* Update README.md by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F617\r\n* language model of paligemma 1 is gemma 1. by @eljandoubi in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F613\r\n* Update README to reflect recent changes by @helloworld1 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F619\r\n* Support Dynamic Tanh (DyT) by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F618\r\n* Fix incorrect module name when monkey_patch applied to instantiated model by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F629\r\n* [chunked loss] align teacher and student logit shape by @yundai424 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F634\r\n* Fix incorrect condition comment in log_target calculation by @p81sunshine in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F633\r\n* Add huggingface llava by @jp1924 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F524\r\n* fix Llava test-bwd failure by @jp1924 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F639\r\n* Fix GRPO to conform with TRL: Fix loss, make tests accurate, correct metrics computation by @shivam15s and @mRSun15 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F628\r\n* add xpu tuning to CE by @mgrabban in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F645\r\n* add xpu tuning to FLJSD by @mgrabban in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F647\r\n* Change tests to use rocm 6.3 version and tol changes to make liger run on amd by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F646\r\n* Update pyproject.toml by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F648\r\n\r\n## New Contributors\r\n* @eljandoubi made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F608\r\n* @p81sunshine made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F633\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.5...v0.5.6","2025-04-02T21:55:08",{"id":209,"version":210,"summary_zh":211,"released_at":212},189135,"v0.5.5","## What's Changed\r\n* Infer correct device for AMD HIP device by @helloworld1 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F587\r\n* add out of bounds check to cross entropy by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F588\r\n* Monkeypatch for Qwen2.5-VL by @BenasdTW in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F552\r\n* KTO changes to return aux outputs by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F589\r\n* [KTO] Only return summed metrics by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F591\r\n* increase chunk size for distillation and add bias to jsd by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F590\r\n* [CI] Add ROCm 6.3 CI by @tjtanaa in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F506\r\n* Fix KTO speed issue by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F592\r\n* Compare means of aggregated outputs in KTO tests by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F595\r\n* Fix means of logps and rewards by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F597\r\n* Add chunk_size param to chunked losses by @RichhLi in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F599\r\n* Fix DPO\u002FORPO typo in readme by @tyler-romero in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F602\r\n* version bump by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F605\r\n\r\n## New Contributors\r\n* @RichhLi made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F599\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.4...v0.5.5","2025-03-14T00:27:10",{"id":214,"version":215,"summary_zh":216,"released_at":217},189136,"v0.5.4","## What's Changed\r\n* add GitHub CI for Intel GPU  by @faaany in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F536\r\n* Add Intel GPU CI to README.md by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F562\r\n* test split to 16, 32 by @jp1924 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F564\r\n* Clean up workaround introduced in PR #564 by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F566\r\n* Update README.md by @momochen in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F567\r\n* Grpo loss by @kashif in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F553\r\n* Update Readme with ROCM installation instruction by @zcnrex in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F570\r\n* fix qwen2vl and mllama test to pass failing tests by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F571\r\n* KTO: Minor fix and documentation update by @vaibhavjindal in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F574\r\n* Add TVD Loss Kernel by @saurabhkoshatwar in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F324\r\n* Add KTO Benchmark Data into README by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F575\r\n* Support Granite 3.0 and 3.1 models by @JamesKunstle in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F558\r\n* Improve Hugging Face SFT Script by @ParagEkbote in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F539\r\n* Add unit tests for shared prefix masked attention with `torch.FlexAttention` by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F504\r\n* update project readme to include Granite support by @JamesKunstle in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F576\r\n* Revert \"Improve Hugging Face SFT Script (#539)\" and Fix TVD Test for Intel #580 by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F578\r\n* Fix Rope Test by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F577\r\n* Fix layer norm kernels by @lancerts in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F582\r\n* Add OLMO2 model support by @yundai424 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F581\r\n* bump version to 0.5.4 by @yundai424 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F585\r\n\r\n## New Contributors\r\n* @jp1924 made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F564\r\n* @zcnrex made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F570\r\n* @vaibhavjindal made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F574\r\n* @saurabhkoshatwar made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F324\r\n* @JamesKunstle made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F558\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.3...v0.5.4","2025-02-24T21:59:30",{"id":219,"version":220,"summary_zh":221,"released_at":222},189137,"v0.5.3","## What's Changed\r\n* Add ref_input parameter to support separate inputs for reference model by @xingyaoww in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F467\r\n* Revert \"Add ref_input parameter to support separate inputs for reference model\" by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F469\r\n* Add dynamic dependency management for CUDA and ROCm by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F460\r\n* [CI] runtime pip install using uv  by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F471\r\n* modify ref_input in chunked_loss base class and fix tests by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F470\r\n* Add more post training in readme  by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F472\r\n* align post training loss at the center by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F473\r\n* [Transformer] fix ORPO loss for MOE models by @kashif in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F479\r\n* fix: correct typos in docstrings by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F482\r\n* fix chosen_nll_loss in chunked losses by @kashif in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F486\r\n* Revert \"fix chosen_nll_loss in chunked losses (#486)\" by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F489\r\n* fix dpo tests: reduce tolerance and change default compute_nll_loss false by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F490\r\n* CPO & SimPO add label_smoothing by @Mecoli1219 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F493\r\n* Fix Preference Loss and Refactor for Readability  by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F484\r\n* annotate tl constexpr values by @winglian in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F497\r\n* Fix Rope Compatibility with Cos\u002FSin Position Embedding for Batch Size > 1 by @wizyoung in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F477\r\n* Move the checkstyle to [Ruff](https:\u002F\u002Fdocs.astral.sh\u002Fruff\u002F) by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F483\r\n* Fix\u002Fliger fused linear cross entropy function does not support reduction=none by @ryankert01 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F496\r\n* Fix Dtype Mismatch in torch.addmm within ops\u002Ffused_linear_cross_entropy.py in AMP training. by @DandinPower in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F502\r\n* Add weight support for LigerCrossEntropy by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F420\r\n* Refactor Temperature Scaling in Distillation Loss by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F444\r\n* Fix All `chunked_loss` Benchmark Scripts by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F438\r\n* Set z_loss_1d=None when return_z_loss=False in cross_entropy_loss to avoid tl.store fail when triton_interpret=1(for tl.device_print etc.) by @wa008 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F508\r\n* Add `aux_outputs` for CPO and SimPO by @Mecoli1219 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F492\r\n* Add `average_log_prob` args for cpo by @Mecoli1219 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F510\r\n* Refactor CrossEntropy and FusedLinearCrossEntropy by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F511\r\n* [ORPO] add nll_target for orpo nll loss by @kashif in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F503\r\n* Format Benchmark Scripts with Ruff by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F516\r\n* [Tiny] Add QVQ to readme by @tyler-romero in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F522\r\n* Add argument `return_z_loss` to flce by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F530\r\n* Remove extra print by @apaz-cli in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F531\r\n* Fix HF `transformers` Breaking Changes by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F526\r\n* Handle cache_position for transformers 4.47.0 and later (#528) by @BenasdTW in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F529\r\n* Create Docs for Liger-Kernel by @ParagEkbote in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F485\r\n* Add Mkdocs related dependencies to setup.py by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F534\r\n* Add KTO Loss by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F475\r\n* [tests] use a valid hexadecimal string instead of a placeholder by @faaany in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F535\r\n* [tests] skip failed tests for xpu  by @faaany in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F498\r\n* Format files by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F541\r\n* Fix Broken Links by @ParagEkbote in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F547\r\n* [Fix] Fix the type hint of `test_utils::concatenated_forward` by @hongpeng-guo in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F549\r\n* Add JSD Loss for Distillation by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F425\r\n* [DPO] add reference log-prob outputs in DPO by @kas","2025-02-10T23:29:42",{"id":224,"version":225,"summary_zh":226,"released_at":227},189138,"v0.5.2","## What's Changed\r\n* Disable Qwen2 VL test for with logits conv test by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F463\r\n* Fix Qwen2VL mrope for transformers 4.47.0 by @li-plus in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F464\r\n* Revert Workaround of Disabling QWEN2_VL in Convergence Tests by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F466\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.1...v0.5.2","2024-12-11T05:58:14",{"id":229,"version":230,"summary_zh":231,"released_at":232},189139,"v0.5.1","## What's Changed\r\n* Fix liger orpo trainer import error by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F459\r\n* Update pyproject.toml by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F462\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.5.0...v0.5.1","2024-12-10T09:30:21",{"id":234,"version":235,"summary_zh":236,"released_at":237},189140,"v0.5.0","## Highlights\r\n1. **Post Training Loss**: Introducing the first open-source optimized post-training losses in Liger Kernel with ~80% memory reduction, featuring DPO, CPO, ORPO, SimPO, JSD, and more. No more OOM nightmares for post-training ML researchers!\r\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F19efbd07-f70b-4573-a3be-33fa80e7c4e1\" alt=\"image\" width=\"400\">\r\n\r\n2.  **AMD CI**: With AMD’s generous sponsorship of MI300s, we’ve integrated them into our CI. Special thanks to Embedded LLM for building the AMD CI infrastructure. #428 \r\n3.  **XPU Support**: In collaboration with Intel, we now support XPU, demonstrating comparable performance gains with other vendors. #407 \r\n\r\n## What's Changed\r\n* Adds the CPO Alignment Loss Function by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F382\r\n* Qwen2-VL Training Example w\u002F Liger by @tyler-romero in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F389\r\n* Support Qwen2-VL's multimodal RoPE implementation by @li-plus in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F384\r\n* add xpu device support for `rms_norm` by @faaany in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F379\r\n* fix qwen2 import failure in test by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F394\r\n* Add Chunked SimPO Loss by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F386\r\n* Add script to reproducibly run examples on Modal by @tyler-romero in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F397\r\n* add nn.module support for chunked loss function by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F402\r\n* Generalize JSD to FKL\u002FRKL by @yundai424 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F393\r\n* Enable keyword arguments for liger functional  by @hongpeng-guo in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F400\r\n* add reference model logps to chunkedloss interface and fix dpo loss fn by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F405\r\n* Optimize CE Loss by casting dtype to float32 inside kernel by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F406\r\n* Xpu support by @mgrabban in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F407\r\n* Fix `get_batch_loss_metrics` comments by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F413\r\n* Add rebuild to CI by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F415\r\n* Fix os env by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F416\r\n* Adjust QWEN2 VL Loss `rtol` by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F412\r\n* [tiny] Add QwQ to readme (same arch as Qwen2) by @tyler-romero in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F424\r\n* Enhance Cross Entropy Softcap Unit Test  by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F423\r\n* Add ORPO Trainer + support HF metrics directly from chunked loss functions + fixes to avoid torch compile recompilations by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F429\r\n* Add Build Success\u002FFail Badge by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F431\r\n* Switch amd-ci to use MI300X runner. by @saienduri in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F428\r\n* [CI] rename ci and add cron job for amd by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F433\r\n* [CI] shorten ci name by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F434\r\n* update ci icon on readme by @bboyleonp666 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F440\r\n* Introduce Knowledge Distillation Base by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F432\r\n* [AMD] [CI] Clean up `amd-ci` by @tjtanaa in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F436\r\n* Add xpu in env report by @abhilash1910 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F443\r\n* Specify scheduled CI in AMD badge by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F446\r\n* improve code quality for chunk loss by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F448\r\n* Add paper link and formula for preference loss by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F449\r\n* Make kernel doc lean by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F450\r\n* Fix LigerCrossEntropyLoss Reduction Behavior for \"None\" Mode by @hebiao064 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F435\r\n* add eng blog by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F452\r\n* add chunked loss to readme by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F453\r\n* change chunked readme by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F454\r\n* add sponsorship and collab by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F457\r\n* version bump to 0.5.0 by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F455\r\n* Add HIP (ROCm) and Liger Kernel to env report by @Comet0322 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F456\r\n\r\n## New Contributors\r\n* @li-plus made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F384\r\n* @fa","2024-12-10T03:30:05",{"id":239,"version":240,"summary_zh":241,"released_at":242},189141,"v0.4.2","## Highlights\r\n\r\nFix https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fissues\u002F390 https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fissues\u002F383\r\n\r\n## What's Changed\r\n* modify readmes and create license\u002Facknowledgement docs by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F377\r\n* Add Chunked ORPO Loss by @shivam15s in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F362\r\n* Refactor `LigerFusedLinearPreferenceBase` by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F381\r\n* Support Chunked DPO Loss Kernel by @austin362667 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F378\r\n* Fix flce not being patched after reverting in convergence test by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F385\r\n* Qwen2-VL Bug \u002F Incompatibility Fixes by @tyler-romero in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F388\r\n* Fix incomplete RMSNorm patch by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F392\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.4.1...v0.4.2","2024-11-17T19:22:08",{"id":244,"version":245,"summary_zh":246,"released_at":247},189142,"v0.4.1","## Highlights\r\n\r\n1. **Gemma 2 Support**: The long pending gemma 2 is finally supported thanks to @Tcc0403! He has implemented the nasty softcapping in fused linear cross entropy (https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F320) and discovered the convergence issue which later fixed by @ByronHsu and @Tcc0403 together. (https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F376)\r\n\r\n2. **CrossEntropy Patching FIx**: If you use monkey patch for `CrossEntropy` (Not FLCE), it is actually not patched after transformers `4.46.1`. This is because `CrossEntropy` was replaced with `F.cross_entropy` in the model code. We fixed the issue in the PR (https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F375)\r\n\r\n3. **GroupNorm Kernel**: Our new contributor @pramodith implemented a GroupNorm kernel https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F375 with 2x Speedup.\r\n\r\n## What's Changed\r\n* BUG: Fix bug in layer norm tests. by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F359\r\n* Support Z Loss in CE by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F239\r\n* Improve compatibility to access the base models by @why-in-Shanghaitech in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F340\r\n* poke test again by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F360\r\n* Kernels for GroupNorm by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F353\r\n* Remove trailing newline. by @ckckjw in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F364\r\n* Fix typo in the description of FusedLinearJSD by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F366\r\n* Updates Readme to add GroupNorm by @pramodith in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F365\r\n* Support FusedLinearCrossEntropy for Gemma2 by @Tcc0403 in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F320\r\n* Rotate modal and pypi tokens by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F372\r\n* Fix release password by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F373\r\n* Support CE after grad acc fix by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F375\r\n* Support out-of-place RMSNorm to fix gemma2 by @ByronHsu in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F376\r\n\r\n## New Contributors\r\n* @pramodith made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F359\r\n* @why-in-Shanghaitech made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F340\r\n* @ckckjw made their first contribution in https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fpull\u002F364\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flinkedin\u002FLiger-Kernel\u002Fcompare\u002Fv0.4.0...v0.4.1","2024-11-12T23:42:54"]