# CS336 **Repository Path**: jsmave/cs336 ## Basic Information - **Project Name**: CS336 - **Description**: CS336课程学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-26 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CS336: 从零开始构建大语言模型 (LLM from Scratch) 🚀 本仓库是我学习斯坦福大学 **[CS336: Language Modeling from Scratch](https://cs336.stanford.edu/)** 课程的工程实践记录。 这里记录了从底层矩阵运算、BPE 分词器,到 Transformer 架构实现,以及最终模型微调与对齐的全过程。 --- ## 💻 个人实验环境 (Local Workstation) 为了在本地环境实现高效的训练模拟,我构建了基于 Windows + WSL2 的深度学习工作站。 ### 硬件配置 - **GPU:** **NVIDIA GeForce RTX 5060 Ti (16GB VRAM)** - **CPU:** Intel Core i5-9600K @ 3.70GHz (6核) - **内存:** 32GB DDR4 - **系统:** Windows 11 + WSL2 (Ubuntu 22.04 LTS) ### 显卡算力指标 (RTX 5060 Ti Blackwell) | 精度模式 | 算力大小 | 适用场景 | | :--- | :--- | :--- | | **FP32** | **23.70 TFLOPS** | 核心逻辑、主权重存储 | | **FP16 / BF16** | **94.81 TFLOPS** | **标准预训练模式** | | **FP4** | **758.51 TFLOPS** | 极速推理与 4-bit 量化微调 | | **显存带宽** | **448 GB/s** | 数据吞吐上限 | --- ## 📈 规模法则与训练设计 (Scaling Laws) 在 CS336 的实验中,我遵循 **Chinchilla Scaling Laws** 进行计算最优化的模型设计,以确保在本地算力预算下获得最低的 Loss。 ### 12 小时预训练预算配置 ($C \approx 6ND$) 基于单卡 12 小时、30% MFU (模型利用率) 的假设: - **总计算量 ($C$):** $\approx 3.07 \times 10^{17}$ FLOPs - **最优参数量 ($N$):** **5,000 万 (50M)** - **最优数据量 ($D$):** **10 亿 (1B) Tokens** - **计算策略:** 保持 $D/N \approx 20$ 的最优配比,优先追求“练透”小模型。 --- ## 🛠 开发环境安装 针对 RTX 50 系列显卡优化的环境配置方案: ```bash # 创建环境 conda create -n cs336 python=3.10 -y conda activate cs336 # 安装基础依赖 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install transformers datasets sentencepiece accelerate # 安装黑科技加速库 (推荐使用 Unsloth 进行 4-bit 微调) pip install unsloth flash-attn --no-build-isolation