{"adoption": {"forks": 445, "observed_at": "2026-08-28T04:09:11.825032+00:00", "stars": 5183}, "canonical_url": "https://ross.abutalabs.com/products/xtuner", "card": {"archived": false, "artifact_type": "library", "description": "A Next-Generation Training Engine Built for Ultra-Large MoE Models", "domain": ["large-language-models", "deep-learning", "machine-learning", "artificial-intelligence"], "enriched": true, "function": ["llm-training", "machine-learning", "deep-learning", "rag"], "health_score": 99, "homepage": "https://xtuner.readthedocs.io/zh-cn/latest/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["InternLM/xtuner"], "name": "InternLM/xtuner", "platform": ["python"], "pushed_at": "2026-08-26T11:19:16+00:00", "repo": "InternLM/xtuner", "stars": 5183, "tags": ["moe", "fine-tuning", "parameter-efficient-fine-tuning", "multimodal", "reinforcement-learning", "deepseek-v3", "qwen3", "internvl", "long-context", "gpu", "linux", "docker"], "topics": ["llm", "agent", "deepseek-v3", "gpt-oss", "internvl", "kimi-k2", "multimodal", "qwen3-moe", "reinforcement-learning", "intern-s1", "qwen3-vl"], "urls": [], "use_cases": ["fine-tune a large language model on custom data", "train 200B-scale MoE models efficiently", "fine-tune multimodal models like InternVL or Qwen-VL", "train LLMs with 64k sequence lengths", "run parameter-efficient fine-tuning like LoRA", "reinforcement learning training for LLMs"], "what_it_is": "XTuner is an open-source LLM training engine from InternLM designed for fine-tuning ultra-large-scale Mixture-of-Experts (MoE) models, with dropless training and long-sequence support. It also serves as a flexible toolkit for parameter-efficient fine-tuning of large language and multimodal models.", "when_to_avoid": ["you only need inference or serving rather than training", "you need traditional dense-model distributed training with full 3D parallelism at extreme scale", "you want a no-code GUI training tool"], "when_to_choose": ["you need to fine-tune large or MoE-based LLMs like DeepSeek-V3, Qwen3-MoE, or Kimi-K2", "you want memory-efficient long-sequence training without complex 3D parallelism", "you need a flexible open-source toolkit supporting both SFT and RL training", "you work with multimodal models such as InternVL or Qwen3-VL"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xtuner", "repo": "InternLM/xtuner", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.825032+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:01:47.237083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7539f638da980ad825b000585fa3d1e841edf5021ee310b08a14c4c8bb99a097", "fetched_at": "2026-08-28T04:09:11.825032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InternLM/xtuner"}, {"content_hash": "b50a1a741322c1dc8f2665078e12809b115038b5a08782d9cf008a72b0f13317", "fetched_at": "2026-08-29T08:56:06.859552+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/xtuner/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 82, "rhythm": 16}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1149, "days_push": 7, "days_rel": 418, "gap_med": 139, "n_releases_24m": 2}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}