{"adoption": {"forks": 131, "observed_at": "2026-09-03T02:15:11.175270+00:00", "stars": 1278}, "canonical_url": "https://ross.abutalabs.com/products/diy-llm", "card": {"archived": false, "artifact_type": "learning-resource", "description": "🎓 系统性大语言模型构建课程｜🛠️ 覆盖预训练数据工程、Tokenizer、Transformer、MoE、GPU 编程 (CUDA/Triton)、分布式训练、Scaling Laws、推理优化及对齐 (SFT/RLHF/GRPO)｜🚀 6 个渐进式作业 + 代码驱动，建立 LLM 全栈认知体系", "domain": ["large-language-models", "deep-learning", "machine-learning", "tutorials", "education", "gpu-computing"], "enriched": true, "function": ["llm-training", "llm-inference", "gpu-computing", "machine-learning", "deep-learning", "prompt-engineering"], "health_score": 100, "homepage": "https://datawhalechina.github.io/diy-llm/", "language": "Jupyter Notebook", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["datawhalechina/diy-llm"], "name": "datawhalechina/diy-llm", "platform": ["python", "cross-platform"], "pushed_at": "2026-09-02T09:03:11+00:00", "repo": "datawhalechina/diy-llm", "stars": 1278, "tags": ["course", "chinese-language", "cs336", "cuda", "triton", "moe", "rlhf", "scaling-laws", "tokenizer", "distributed-training", "jupyter-notebook", "datawhale", "gpu"], "topics": ["gpu-programming", "llm", "nlp", "rl", "sft", "transformer"], "urls": [], "use_cases": ["learn how large language models are built from scratch", "implement a BPE tokenizer and transformer in PyTorch", "learn CUDA and Triton GPU programming for LLMs", "understand distributed training and FSDP", "study scaling laws and compute-optimal training", "practice SFT and RLHF alignment with GRPO", "chinese-language alternative to stanford cs336"], "what_it_is": "A Chinese-language, code-driven course (adapted from Stanford CS336) for systematically building large language models from scratch. It covers tokenizers, Transformer architecture, MoE, CUDA/Triton GPU programming, distributed training, scaling laws, inference optimization, data engineering, and alignment (SFT/RLHF/GRPO) through six progressive hands-on assignments.", "when_to_avoid": ["you need a production LLM training framework or library rather than a course", "you are a complete beginner without Python and deep learning fundamentals", "you need English-only materials"], "when_to_choose": ["you want a code-driven, hands-on LLM full-stack curriculum in Chinese", "you already know Python, PyTorch, and deep learning basics and want to go deeper", "you want to cover everything from data engineering to GPU kernels and alignment in one course"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/diy-llm", "repo": "datawhalechina/diy-llm", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.175270+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:51.862951+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1213b67ad584748af479be972a89fa51144e765c422655d4f914faa97bcb2387", "fetched_at": "2026-09-03T02:15:11.175270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datawhalechina/diy-llm"}, {"content_hash": "dc7b04b11a576a59e68a544c82df114ddcab6b650d7682ac219d398eff889529", "fetched_at": "2026-08-29T12:19:00.989102+00:00", "kind": "homepage", "missing": false, "url": "https://datawhalechina.github.io/diy-llm/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 20, "rhythm": 86}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 282, "days_push": 0, "days_rel": 16, "gap_med": 68, "n_releases_24m": 2}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}