PySR

GitHub
3.5k 320 简单 1 次阅读 今天Apache-2.0数据工具其他开发框架
AI 解读 由 AI 自动生成,仅供参考

PySR 是一款专为 Python 和 Julia 打造的高性能符号回归开源工具。它的核心任务是从数据中自动挖掘出简洁、可解释的数学公式,而不仅仅是提供一个难以理解的“黑盒”预测模型。

在传统机器学习中,模型往往缺乏透明度,用户难以知晓其背后的逻辑。PySR 正是为了解决这一痛点而生,它通过进化算法搜索最优的符号表达式,让数据分析结果变得直观且易于验证。这使得它特别适合科研人员、数据科学家以及需要探索物理定律或数学关系的开发者使用,尤其是在处理低维数据集或试图从神经网络中提取解析方程(即“符号蒸馏”)时表现卓越。

PySR 的独特之处在于其强大的底层引擎由 Julia 语言编写,确保了极高的运算效率,同时提供了友好的 Python 接口,兼顾了性能与易用性。无论是希望发现新科学规律的研究者,还是追求模型可解释性的工程师,PySR 都能帮助你从复杂数据中提炼出清晰优雅的数学真理。

使用场景

某航天动力学研究团队正试图从海量的卫星轨道遥测数据中,反推描述天体引力相互作用的核心物理公式。

没有 PySR 时

  • 研究人员只能依赖神经网络进行黑盒拟合,虽然预测精度尚可,但无法获得具有物理意义的解析表达式,导致模型不可解释。
  • 为了猜测正确的公式形式,团队需耗费数周时间手动尝试多项式、三角函数等组合,效率极低且极易陷入局部最优解。
  • 面对高维度的 N 体问题数据,传统符号回归算法计算速度缓慢,往往在找到可行解前就已耗尽计算资源。
  • 最终得到的复杂模型难以嵌入到现有的仿真系统中,工程师不得不花费大量精力进行二次简化,引入了额外误差。

使用 PySR 后

  • PySR 直接搜索并输出了简洁的符号表达式(如牛顿万有引力定律变体),让物理学家能立即理解变量间的因果逻辑。
  • 依托其底层 Julia 引擎的高性能搜索策略,原本需要数周的公式发现过程被缩短至几小时,自动探索了更广阔的函数空间。
  • 通过“符号蒸馏”技术,PySR 成功将高精度神经网络的内部逻辑转化为显式方程,完美解决了高维数据的可解释性难题。
  • 生成的公式可直接导出为 Python 或 C 代码,无缝集成到实时轨道预测系统中,大幅提升了工程落地效率。

PySR 将晦涩的数据拟合转变为可理解的物理发现,真正实现了从“预测结果”到“掌握规律”的跨越。

运行环境要求

操作系统
  • Linux
  • Windows
  • macOS
GPU

未说明

内存

未说明

依赖
notes核心计算引擎依赖 Julia 语言,首次导入 Python 包时会自动安装 Julia 及相关依赖。支持通过 Docker 或 Apptainer 容器化运行。在 Linux 系统下若遇到 'GLIBCXX' 错误,需手动配置 LD_LIBRARY_PATH 指向 Julia 的库文件路径。算法主要针对低维数据集优化,也支持通过符号蒸馏处理高维数据。
python未说明
numpy
pandas
sympy
juliacall
julia
PySR hero image

快速开始

PySR 寻找能够优化特定目标的符号表达式。

https://github.com/MilesCranmer/PySR/assets/7593028/c8511a49-b408-488f-8f18-b1749078268f

PySR:Python 和 Julia 中的高性能符号回归

文档 论坛 论文 Colab 示例
文档 讨论 论文 Colab
pip conda 统计信息
PyPI 版本 Conda 版本
pip: 下载量
conda: Anaconda 服务器徽章

如果您觉得 PySR 很有用,请引用论文 arXiv:2305.01582。 如果您已经使用 PySR 完成了某个项目,请提交 PR,在 研究展示页面 上分享您的成果!

目录

测试状态

Linux Windows macOS
Linux Windows macOS
Docker Conda 覆盖率
Docker conda-forge Codecov

为什么选择 PySR?

PySR 是一款用于 符号回归 的开源工具:这是一种机器学习任务,其目标是找到一个可解释的符号表达式,以优化某个目标函数。

在数年的时间里,PySR 从零开始设计,旨在做到(1)尽可能高效,(2)尽可能灵活可配置,以及(3)易于使用。PySR 与 Julia 库 SymbolicRegression.jl 联合开发,后者构成了 PySR 强大的搜索引擎。这些算法的详细内容已在 PySR 论文 中阐述。

符号回归最适合低维数据集,但也可以通过“神经网络符号蒸馏”将其扩展到高维空间,如 2006.11287 所述,我们将其应用于 N 体问题。本质上,这种方法利用符号回归将神经网络转换为解析方程。因此,这些工具同时提供了一种明确而强大的方式来解释深度神经网络。

安装

pip

您可以通过 pip 安装 PySR:

pip install pysr

Julia 的依赖项将在首次导入时自动安装。

conda

同样地,使用 conda:

conda install -c conda-forge pysr

Docker

您还可以使用 Dockerfile 在 Docker 容器中安装 PySR。

  1. 克隆此仓库。
  2. 在仓库目录下构建 Docker 容器:
docker build -t pysr .
  1. 然后可以启动容器并运行 IPython:
docker run -it --rm pysr ipython

更多详情请参阅 Docker 部分

Apptainer

如果您在没有 root 权限的集群上使用 PySR,可以使用 Apptainer 构建容器,而不是 Docker。Apptainer.def 文件类似于 Dockerfile,可以通过以下命令构建:

apptainer build --notest pysr.sif Apptainer.def

然后使用以下命令运行:

apptainer run pysr.sif

故障排除

您可能会遇到的一个问题是,在导入时出现类似“GLIBCXX_... 未找到”的严重错误。这是由于另一个 Python 依赖项加载了错误的 libstdc++ 库所致。要解决这个问题,您需要修改 LD_LIBRARY_PATH 变量,使其指向 Julia 的库文件。例如,如果 Julia 版本的 libstdc++.so 位于 $HOME/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/(这可能因系统而异!),您可以将以下内容添加到 .bashrc.zshrc 文件中:

export LD_LIBRARY_PATH=$HOME/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/:$LD_LIBRARY_PATH

快速入门

您可以尝试这里的交互式教程 这里,它使用了 examples/pysr_demo.ipynb 中的笔记本。

在实际操作中,我强烈建议使用 IPython 而不是 Jupyter,因为它的输出效果更好。下面是一个快速演示,您可以将其粘贴到 Python 运行环境中。

首先,我们导入 numpy 来生成一些测试数据:

import numpy as np

X = 2 * np.random.randn(100, 5)
y = 2.5382 * np.cos(X[:, 3]) + X[:, 0] ** 2 - 0.5

我们创建了一个包含 100 个样本、每个样本有 5 个特征的数据集。我们希望建模的关系是 $2.5382 \cos(x_3) + x_0^2 - 0.5$。

现在,让我们创建一个 PySR 模型并进行训练。PySR 的主要接口风格类似于 scikit-learn:

from pysr import PySRRegressor

model = PySRRegressor(
    maxsize=20,
    niterations=40,  # < 增加此值以获得更好的结果
    binary_operators=["+", "*"],
    unary_operators=[
        "cos",
        "exp",
        "sin",
        "inv(x) = 1/x",
        # ^ 自定义运算符(Julia 语法)
    ],
    extra_sympy_mappings={"inv": lambda x: 1 / x},
    # ^ 同时为 SymPy 定义运算符
    elementwise_loss="loss(prediction, target) = (prediction - target)^2",
    # ^ 自定义损失函数(Julia 语法)
)

这将设置模型进行 40 次迭代的搜索,每次迭代包含数十万次突变和方程评估。

让我们用我们的数据集来训练这个模型:

model.fit(X, y)

在内部,这会启动一个 Julia 进程,该进程将以多线程方式搜索适合数据集的方程。

训练过程中会打印出方程,当您满意时,可以通过按 'q' 然后按回车键提前退出。

模型拟合完成后,您可以运行 model.predict(X) 来查看使用自动选择的表达式对给定数据集的预测结果;或者例如,运行 model.predict(X, 3) 来查看第 3 个方程的预测结果。

您还可以运行以下命令来打印学习到的方程:

print(model)

输出如下:

PySRRegressor.equations_ = [
	   pick     score                                           equation       loss  complexity
	0        0.000000                                          4.4324794  42.354317           1
	1        1.255691                                          (x0 * x0)   3.437307           3
	2        0.011629                          ((x0 * x0) + -0.28087974)   3.358285           5
	3        0.897855                              ((x0 * x0) + cos(x3))   1.368308           6
	4        0.857018                ((x0 * x0) + (cos(x3) * 2.4566472))   0.246483           8
	5  >>>>       inf  (((cos(x3) + -0.19699033) * 2.5382123) + (x0 *...   0.000000          10
]

pick 列中的箭头表示当前由您的 model_selection 策略选定用于预测的方程。(您也可以在 .fit(X, y) 之后更改 model_selection。)

model.equations_ 是一个 pandas DataFrame,包含了所有方程,包括可调用格式 (lambda_format)、SymPy 格式 (sympy_format - 您也可以通过 model.sympy() 获取)、甚至 JAX 和 PyTorch 格式(两者都可微分 - 您可以通过 model.jax()model.pytorch() 获取)。

请注意,PySRRegressor 会保存上次搜索的状态,并在您下次调用 .fit() 时从上次停止的地方继续,前提是您已设置 warm_start=True。如果对搜索参数进行了重大更改(例如更改运算符),则可能会出现问题。您可以运行 model.reset() 来重置状态。

您会注意到 PySR 会保存两个文件:hall_of_fame...csvhall_of_fame...pkl。CSV 文件列出了方程及其损失,而 PKL 文件则是模型的保存状态。您可以从 PKL 文件加载模型,方法如下:

model = PySRRegressor.from_file("hall_of_fame.2022-08-10_100832.281.pkl")

此外,PySR 还提供了其他一些有用的功能,例如去噪(如 denoise=True)和特征选择(如 select_k_features=3)。有关这些功能及其他功能的示例,请参阅 示例页面。有关更多选项的详细信息,请参阅 选项页面。您还可以在 API 页面 上查看完整的 API。此外,调优页面 提供了调整 PySR 的技巧。

详细示例

以下代码尽可能地使用了 PySR 的所有功能。请注意,这只是一个功能演示,您不应直接使用此示例。有关每个参数的具体作用,请参阅 API 页面

model = PySRRegressor(
    populations=8,
    # ^ 假设我们有4个核心,这意味着每个核心运行2个种群,因此总有一个种群在持续运行。
    population_size=50,
    # ^ 稍大的种群规模,以增加多样性。
    ncycles_per_iteration=500,
    # ^ 种群之间迁移的代数间隔。
    niterations=10000000,  # 无限运行
    early_stop_condition=(
        "stop_if(loss, complexity) = loss < 1e-6 && complexity < 10"
        # 如果找到一个既好又简单的方程,则提前停止
    ),
    timeout_in_seconds=60 * 60 * 24,
    # ^ 或者,在24小时后停止。
    maxsize=50,
    # ^ 允许更高的复杂度。
    maxdepth=10,
    # ^ 但避免过深的嵌套。
    binary_operators=["*", "+", "-", "/"],
    unary_operators=["square", "cube", "exp", "cos2(x)=cos(x)^2"],
    constraints={
        "/": (-1, 9),
        "square": 9,
        "cube": 9,
        "exp": 9,
    },
    # ^ 限制每个参数内的复杂度。
    # "inv": (-1, 9) 表示分子没有约束,
    # 但分母的最大复杂度为9。
    # "exp": 9 则表示 `exp` 只能接受复杂度为9的表达式作为输入。
    nested_constraints={
        "square": {"square": 1, "cube": 1, "exp": 0},
        "cube": {"square": 1, "cube": 1, "exp": 0},
        "exp": {"square": 1, "cube": 1, "exp": 0},
    },
    # ^ 对运算符进行嵌套约束。例如,
    # "square(exp(x))" 是不允许的,因为 "square": {"exp": 0}。
    complexity_of_operators={"/": 2, "exp": 3},
    # ^ 自定义特定运算符的复杂度。
    complexity_of_constants=2,
    # ^ 惩罚常数比变量更重。
    select_k_features=4,
    # ^ 只使用最重要的4个特征进行训练。
    progress=True,
    # ^ 如果输出到文件,可以设置为False。
    weight_randomize=0.1,
    # ^ 更频繁地随机化树结构。
    cluster_manager=None,
    # ^ 可以设置为例如 "slurm" 来运行 slurm 集群。只需从主节点启动一个脚本即可。
    precision=64,
    # ^ 使用更高精度的计算。
    warm_start=True,
    # ^ 从上次中断的地方继续。
    turbo=True,
    # ^ 更快的评估(实验性)
    extra_sympy_mappings={"cos2": lambda x: sympy.cos(x)**2},
    # extra_torch_mappings={sympy.cos: torch.cos},
    # ^ 这里不需要,因为 cos 已经定义,但这正是定义自定义 PyTorch 运算符的方式。
    # extra_jax_mappings={sympy.cos: "jnp.cos"},
    # ^ 对于 JAX,需要传递字符串。
)

Docker

您也可以在 Docker 中测试 PySR,而无需在本地安装它。只需在本仓库的根目录下运行以下命令:

docker build -t pysr .

这将为您的系统架构构建一个名为 pysr 的镜像,其中还包含 IPython。您可以选择特定版本的 Python 和 Julia,方法如下:

docker build -t pysr --build-arg JLVERSION=1.10.0 --build-arg PYVERSION=3.11.6 .

然后,您可以使用以下 Dockerfile 运行容器:

docker run -it --rm -v "$PWD:/data" pysr ipython

这会将当前目录挂载到容器的 /data 目录,并启动 IPython。

如果您在构建适用于您系统架构的镜像时遇到问题,可以在 buildrun 命令前添加 --platform linux/amd64 来模拟其他架构。

贡献者 ✨

我们热忱欢迎新贡献者!请查看我们的贡献者 指南,获取实用建议 🚀。如果您对新功能有任何想法,请随时在 issuesdiscussions 页面上分享。

Mark Kittisopikul
Mark Kittisopikul

💻 💡 🚇 📦 📣 👀 🔧 ⚠️
T Coxon
T Coxon

🐛 💻 🔌 💡 🚇 🚧 👀 🔧 ⚠️ 📓
Dhananjay Ashok
Dhananjay Ashok

💻 🌍 💡 🚧 ⚠️
Johan Blåbäck
Johan Blåbäck

🐛 💻 💡 🚧 📣 👀 ⚠️ 📓
JuliusMartensen
JuliusMartensen

🐛 💻 📖 🔌 💡 🚇 🚧 📦 📣 👀 🔧 📓
ngam
ngam

💻 🚇 📦 👀 🔧 ⚠️
Christopher Rowley
Christopher Rowley

💻 💡 🚇 📦 👀
Kaze Wong
Kaze Wong

🐛 💻 💡 🚇 🚧 📣 👀 🔬 📓
Christopher Rackauckas
Christopher Rackauckas

🐛 💻 🔌 💡 🚇 📣 👀 🔬 🔧 ⚠️ 📓
Patrick Kidger
Patrick Kidger

🐛 💻 📖 🔌 💡 🚧 📣 👀 🔬 🔧 ⚠️ 📓
Okon Samuel
Okon Samuel

🐛 💻 📖 🚧 💡 🚇 👀 ⚠️ 📓
William Booth-Clibborn
William Booth-Clibborn

💻 🌍 📖 📓 🚧 👀 🔧 ⚠️
Pablo Lemos
Pablo Lemos

🐛 💡 📣 👀 🔬 📓
Jerry Ling
Jerry Ling

🐛 💻 📖 🌍 💡 📣 👀 📓
Charles Fox
Charles Fox

🐛 💻 💡 🚧 📣 👀 🔬 📓
Johann Brehmer
Johann Brehmer

💻 📖 💡 📣 👀 🔬 ⚠️ 📓
Marius Millea
Marius Millea

💻 💡 📣 👀 📓
Coba
Coba

🐛 💻 💡 👀 📓
foxtran
foxtran

💻 💡 🚧 🔧 📓
Shah Mahdi Hasan
Shah Mahdi Hasan

🐛 💻 👀 📓
Pietro Monticone
Pietro Monticone

🐛 📖 💡
Mateusz Kubica
Mateusz Kubica

📖 💡
Jay Wadekar
Jay Wadekar

🐛 💡 📣 🔬
Anthony Blaom, PhD
Anthony Blaom, PhD

🚇 💡 👀
Jgmedina95
Jgmedina95

🐛 💡 👀
Michael Abbott
Michael Abbott

💻 💡 👀 🔧
Oscar Smith
Oscar Smith

💻 💡
Eric Hanson
Eric Hanson

💡 📣 📓
Henrique Becker
Henrique Becker

💻 💡 👀
qwertyjl
qwertyjl

🐛 📖 💡 📓
Rik Huijzer
Rik Huijzer

💡 🚇
Hongyu Wang
Hongyu Wang

💡 📣 🔬
Zehao Jin
Zehao Jin

🔬 📣
Tanner Mengel
Tanner Mengel

🔬 📣
Arthur Grundner
Arthur Grundner

🔬 📣
sjwetzel
sjwetzel

🔬 📣 📓
Saurav Maheshkar
Saurav Maheshkar

🔧

版本历史

v1.5.102026/03/30
v2.0.0a12025/10/08
v1.5.92025/07/15
v1.5.82025/05/20
v1.5.72025/05/19
v1.5.62025/05/04
v1.5.52025/04/02
v1.5.42025/04/01
v1.5.32025/03/28
v1.5.22025/03/05
v1.5.12025/03/01
v1.5.02025/02/25
v1.4.02025/02/13
v1.3.12024/12/27
v1.3.02024/12/15
v1.2.02024/12/14
v1.1.02024/12/09
v1.0.22024/12/07
v1.0.12024/12/06
v1.0.02024/12/01

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|昨天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

142.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|昨天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|今天
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|昨天
语言模型图像Agent