“真男人就应该用 C 编程”!用 1000 行 C 代码手搓了一个大模型,Mac 即可运行,特斯拉前AI总监爆火科普 LLM

从零手搓大模型:白盒化构建Transformer、RAG与Agent的完整技术栈 在深度学习领域,Transformer架构已成为现代大语言模型的基石,其核心的自注意力机制通过计算查询、键、值之间的关联,实现了对序列数据的强大建模能力。理解其底层原理,如缩放点积注意力、多头注意力以及位置编码,是掌握大模型技术的关键。这种深刻理解不仅能优化模型性能,更能为后续的创新应用奠定基础。基于Transformer构建的检索增强生成(RAG)技术,通过结合外部知识库,有效缓解了大模型的幻觉问题,提升了回答的准确性与时效性。而智能体(Agent)技术则赋予大模型规划与使用工具的能力,使其能完成更复杂的 阅读详情

徒手用 1000 行 C 语言实现,不依赖庞大的外部库,Mac 即可运行。   

如今这年头,徒手写神经网络代码已经不算事儿了,现在流行手搓大模型训练代码了!这不,今天,特斯拉前 AI 总监、OpenAI 创始团队成员 Andrej Karpathy 仅用 1000 行简洁的 C 代码,就完成了 GPT-2 大模型训练过程。

图片

几个小时前,Andrej Karpathy 推出了一个名为 llm.c 的项目,旨在用纯 C 语言训练 LLM,这种方法的主要优势在于它显著减少了依赖库的体积——不再需要 245MB 的 PyTorch 和 107MB 的 cPython,这样可以使得模型训练过程更为轻量化和高效。该项目还可以立即编译和运行,并且可以与 PyTorch 的参考实现媲美。

Karpathy 表示他之所以选择 GPT-2 作为首个工作示例,是因为它大语言模型鼻祖的定位,亦属现代 AI 堆栈的首次组合。因此,选择 GPT-2 作为起点,可以让我们更容易地理解和实践大型语言模型训练。

徒手实现 GPT-2 后,Karpathy 将这份代码放到了 GitHub 上,以 MIT 协议开源。短短几个小时,就超过了 2500 颗星,并且数据还在不断持续上涨......

图片

将大模型原理拆解得无比简单

Andrej Karpathy 是全球人工智能领域的知名科学家,也是 OpenAI 的创始成员和研究科学家。

他于 2009 年本科毕业于多伦多大学,获得计算机科学和物理学学士学位。2011 年硕士毕业于不列颠哥伦比亚大学,随后前往斯坦福大学 AI Lab(SAIL)读博,师从著名学者李飞飞,是全球最早将深度学习应用于计算机视觉研究的学者之一。

在求学期间,Andrej Karpathy 曾在谷歌和 DeepMind 实习,后来在 OpenAI 刚刚成立时加入并担任研究科学家。直到 2017 年 6 月,他被马斯克挖去,担任特斯拉人工智能部门主管,直接向马斯克汇报。在特斯拉工作的五年里,他主导了特斯拉自动辅助驾驶系统 Autopilot 的开发。这项技术对于特斯拉的完全自动驾驶系统 FSD 至关重要,也是马斯克针对 Model S、Cybertruck 等车型推销的主要卖点。在各大新闻中,他被誉为“特斯拉的秘密武器”。

去年 Karpathy 曾短暂回到 OpenAI,然后又在 OpenAI 众人忙于内斗时抽空录制了一个长达一小时的教学视频《大型语言模型入门》。

图片

Karpathy 在视频中首先介绍了一些 LLM 入门知识,然后以 Meta 推出的开源大模型 Llama 2-70b 为例进行了讲解。该模型有 700 亿参数,主要包含两个文件,分别是参数文件,文件大小为 140GB,以及运行这些参数的代码,以 C 语言为例需要约 500 行代码。

Karpathy 表示只要有这两个文件再加上一台 MacBook,我们就可以构建一个独立的系统,无需联网或其他设施。

图片

大模型训练,可以理解为是对互联网数据进行有损压缩,一般需要一个巨大的 GPU 集群来完成。以 Llama 2-70b 为例的话,就是使用了类似网络爬取的约 10TB 的文本,用 6000 个 GPU ,耗资 200 万美元,训练约 12 天,最后获得基础模型。

图片

基础模型即上图里140GB的“压缩文件”(压缩率约100倍),就等于靠这些数据对世界形成了理解,那它就可以进行“预测”工作了。

Karpathy 之前还分享过他的学习经验,就是开始时要尝试从 0 开始,写一些原生代码,帮助理解消化知识点。 也就是说,徒手实现代码才是最有效的学习方式。

两年前,Karpathy 就曾基于 PyTorch,仅用 300 行左右的代码就写出了一个小型 GPT 训练库,并将其命名为 minGPT,用这份代码揭开了 GPT 神秘的面纱。

图片

截图来源:https://github.com/karpathy/minGPT

因为大多数 GPT 模型的实现都过于庞大,而 minGPT 做到了小、干净、可解释和具有教育意义,所以 Karpathy 的这 300 行代码是学习 GPT 的最佳资源之一,可以用来深入理解 GPT 是如何工作的。

用 C 语言实现 LLM

这次,Andrej Karpathy 单纯通过 C/CUDA 实现大语言模型训练,且无需 245 MB PyTorch 或 107 MB cPython。例如,训练 GPT-2(CPU,fp32 单精度)需要在单个文件中使用约 1000 行简洁代码,可立即编译并运行、且与 PyTOrch 参考实现完全匹配。

图片

从某种意义上说,Karpathy 确实在尝试重新设计 LLM 的架构。他通过 llm.c 项目探索一种更简单、更高效的训练 LLM 方法。与现有 LLM 架构相比,这种新架构的主要亮点包括:

  1. 代码简洁性:仅使用约 1000 行代码就能完成 GPT-2 模型的训练,相比之下显著降低了复杂度。

  2. 独立性:不依赖庞大的外部库如 PyTorch 或 cPython,使得部署和运行更加轻便快捷。

  3. 高效性:直接使用 C/CUDA 进行编程有望提高计算效率和训练速度。

有网友问 Karpathy 为何不用 Rust,Karpathy 回复说,“我完全理解 Rust 的吸引力。然而,我仍然觉得 C 语言非常棒。它简单、干净、可移植,在审美上也十分优美。使用 C 语言就像直接与机器交流一样。”

图片

这种语言选择也让网友们纷纷感叹:

“我们正在掀起一场 C 语言复兴!”

图片

“真男人就应该用 C 语言编程。”

图片

Karpathy 以更简单、更原始的 C/CUDA 架构来做 LLM 的训练,其中还涉及算法优化、计算资源管理等多个方面。

图片

你会看到,项目在开始时一次性分配所有所需的内存,这些内存是一大块 1D 内存。然后在训练过程中,不会创建或销毁任何内存,因此内存占用量保持不变,并且只是动态的,将数据批次流过。这里的关键在于手动实现所有单个层的前向和后向传递,然后将它们串联在一起。

例如,这里是 layernorm 前向和后向传递。除了 layernorm 之外,我们还需要编码器、matmul、自注意力、gelu、残差、softmax 和交叉熵损失。

“一旦你拥有了所有的层,接下来的工作只是将它们串在一起。讲道理,写起来相当乏味和自虐,因为你必须确保所有指针和张量偏移都正确排列, ”Karpathy 表示。

图片

另外 Karpathy 还在 doc/layernorm/layernorm.md 中附上了短小的使用教程。里面是一份简单的分步指南,用于实现 GPT-2 模型中的单一层,即 layernorm 层,希望能成为大家理解在 C 中实现大语言模型各层的理想起点。

更重要的是,他还用自己的 MacBook Pro(苹果 M3 Max 芯片)演示了整个训练过程,对照他之前的大模型入门教程,就可以轻松了解如今炙手可热的 LLM 是怎么一回事儿了。

 训练过程:

首先下载数据集并 token 化。

python prepro_tinyshakespeare.py

输出结果为:

Saved 32768 tokens to data/tiny_shakespeare_val.binSaved 305260 tokens to data/tiny_shakespeare_train.bin

其中各.bin 文件为 int32 数字的原始字节流,用于指示 GPT-2 token 化器的 token id。或者也可以使用 prepro_tinystories.py 对 TinyStories 数据集进行标注。

原则上,到这里就已经可以开始训练模型。为提高效率,可以使用 OpenAI 发布的 GPT-2 权重进行初始化,而后加以微调。为此需要下载 GPT-2 权重并将其保存为可在 C 中加载的检查点:

python train_gpt2.py

该脚本会下载 GPT-2(124M)模型,对单批数据进行 10 次过拟合迭代,运行多个生成步骤,最重要的是保存两个文件:1)gpt2_124M.bin 文件,包含用于在 C 中加载的模型权重;2)以及 gpt2_124M_debug_state.bin,包含包括 input、target、logits 及 loss 等更多调试状态,对于调试 C 代码、单元测试及确保能够与 PyTorch 参考实现完全匹配非常重要。现在我们可以使用这些权重进行初始化并在原始 C 代码中进行训练。首先编译代码:

make train_gpt2

在 train_gpt2 编译完成后即可运行:

OMP_NUM_THREADS=8 ./train_gpt2

大家应根据 CPU 的核心数量来调整线程数量。该程序将加载模型权重、tokens,并使用 Adam lr 1e-4 运行数次迭代的微调循环,而后由模型生成样本。简单来讲,所有层都具有前向及后向传递实现,串联在一起形成统一的大型、手动前向 / 后向 / 更新循环。在 MacBook Pro(苹果 M3 Max 芯片)上的输出结果如下所示:​​​​​​​

[GPT-2]max_seq_len: 1024vocab_size: 50257num_layers: 12num_heads: 12channels: 768num_parameters: 124439808train dataset num_batches: 1192val dataset num_batches: 128num_activations: 73323776val loss 5.252026step 0: train loss 5.356189 (took 1452.121000 ms)step 1: train loss 4.301069 (took 1288.673000 ms)step 2: train loss 4.623322 (took 1369.394000 ms)step 3: train loss 4.600470 (took 1290.761000 ms)... (trunctated) ...step 39: train loss 3.970751 (took 1323.779000 ms)val loss 4.107781generated: 50256 16773 18162 21986 11 198 13681 263 23875 198 3152 262 11773 2910 198 1169 6002 6386 2583 286 262 11858 198 20424 428 3135 7596 995 3675 13 198 40 481 407 736 17903 11 329 703 6029 706 4082 198 42826 1028 1128 633 263 11 198 10594 407 198 2704 454 680 1028 262 1027 28860 286 198 3237 323step 40: train loss 4.377757 (took 1366.368000 ms)

现在的生成结果仅给出 token ids,需要将其解码回文本形式:​​​​​​​

<|endoftext|>Come Running Away,Greater conquerWith the Imperial bloodthe heaviest host of the godsinto this wondrous world beyond.I will not back thee, for how sweet after birthNetflix against repounder,will notflourish against the earlocks ofAllay

参考链接:

https://twitter.com/karpathy/status/1777427947126936026

https://github.com/karpathy/llm.c

https://www.youtube.com/watch?v=zjkBMFhNj_g

文章来源:InfoQ

Ice-CreamShop的模拟:[操作系统课程项目] Ice Cream Factory问题-此程序创建了一个模拟冰淇淋店的模型,在该工厂中,为了防止比赛条件而招待了多个客户。 它仅用纯C语言编写 立即下载

相关推荐

别再让CPU干GPU的活了:CST Studio Suite GPU加速深度调优指南(从驱动版本到任务管理器监控)

本文深入探讨了CST Studio Suite的GPU加速深度调优方法,从NVIDIA驱动版本选择到系统级资源管理,再到实时监控与瓶颈诊断技术。通过科学的驱动优化、GPU资源管理策略和高级调优技巧,显著提升仿真效率,特别适合电磁仿真工程师和硬件加速需求的专业用户。

weixin_28740299的博客 166

AI大模型企业应用实战:Prompt让LLM理解知识

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

2401_84204413的博客 3212

Windows10检查Cuda和cuDNN是否安装成功?

简介:根据上篇博客已经完成了CUDA和cuDNN的安装步骤,完成对其的安装。下面将来检查它们是否安装成功。 1 .首先win+R进入CMD,在命令行输入nvcc -V,如下图所示,则表示cuda已经安装成功。 2 .进入到cuda的安装路径,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite,找到如下两个.exe文件: 首先执行:deviceQuery.exe,查看是否出现如下界面: 然后执行bandwid

jhsignal的博客 14万+

深入理解大模型之手搓大模型训练(附源码,深入理解)

coeff = 0.5 * (1.0 + math.cos(math.pi * decay_ratio)) # 余弦函数计算衰减系数,范围为0到1。batch_iter = iter_batches(split=split) # 获取对应数据集的批次迭代器。说白了,大模型就像一个“超级学霸”,它“博览群书”(海量数据训练),“过目不忘”(超强记忆力),“举一反三”(生成能力)。tokens_per_iter = batch_size * max_seq_len # 每次迭代处理的token数。

lizhijianwill的博客 1389

Python爬虫实战:基于最新技术栈的晋江文学城小说爬取

本文将详细介绍如何使用Python最新技术栈构建一个高效的晋江文学城小说爬虫。我们将从爬虫基础知识讲起,逐步深入到反爬机制应对、分布式爬虫设计以及数据存储优化等高级话题。文章包含完整的代码实现,使用aiohttp+asyncio实现异步爬取,Playwright处理动态渲染,并结合Redis实现分布式任务队列。本文旨在为读者提供一个全面的现代Python爬虫开发指南。网络爬虫(Web Crawler)是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据分析和内容聚合等领域。

2201_76125261的博客 870

《大数据最全面试题-Offer直通车》目录

做好这些不用担心试用期不通过:程序员入职新公司如何快速上手项目本人遇到大数据面试题和参考答案(超过1万字精华版)大数据面试英文自我介绍参考(万字长文)大数据运维应用场景面试题汇总及参考答案(持续更新)万字数据仓库面试题及参考答案数据仓库数据质量监控和处理方法最佳实践数据仓库建模方法万字详解Doris的3种数据模型详解和数据仓库每一层的模型选用大数据面试临阵磨枪不知看什么?看这份心理就有底了-大数据常用技术栈常见面试100道题最全Hive面试题2024年(2万字详解)Elasticsearch 面试题及参考答

大模型大数据攻城狮的专栏 2643

【RAG提升技巧】查询改写HyDE

提高 RAG 推理能力的一个好方法是添加查询理解层 ——在实际查询向量存储之前添加查询转换。

2301_81888214的博客 1125

【用unity实现100个游戏之10】复刻经典俄罗斯方块游戏(附项目源码)

当今游戏产业中,经典游戏的复刻一直是一项受欢迎且具有挑战性的任务。俄罗斯方块是一个深入人心、令人上瘾的经典游戏,在过去几十年里一直享有广泛的流行度。其简单而富有策略性的玩法吸引了无数玩家的关注。因此,我决定利用Unity引擎来复刻这款经典游戏,以让更多的人重新体验其中的乐趣。通过使用Unity引擎,我能够利用其强大的工具和功能,从头开始构建一个与原版俄罗斯方块游戏相似的游戏。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2796

《大模型白盒子构建指南》毕业,仅需2G显存,手搓关于LLM的一切!

《大模型白盒子构建指南》是一个从原理出发、以“白盒”为导向、围绕大模型全链路的“手搓”大模型指南,旨在帮助有传统深度学习基础的读者从底层原理出发,“纯手搓”搭建一个清晰、可用的大模型系统,包括大模型架构、大模型预训练、RAG 框架、Agent 系统及大模型评估体系等。

pythonhy的博客 1062

我的宠物狗学编程:从零开始的代码之旅

在这个示例中,我们定义了一个名为"interact"的函数,它通过输入函数获取用户的输入,并根据输入执行相应的代码块。在编程中,我们使用条件语句来根据不同的条件执行不同的代码块。对于我的狗狗,我将创建一个名为"feed"的函数来表示它的进食行为,并根据不同的条件输出不同的信息。在这个示例中,我们定义了一个名为"feed"的函数,并使用一个参数"food"来表示食物。对于我的狗狗,我将创建一个名为"dog_name"的变量来存储它的名字。对于我的狗狗,我将创建一个名为"bark"的函数来表示它的叫声。

2301_79331387的博客 333

海格通信嵌入式面试题及参考答案

计算电路的最高工作频率如何计算? 计算电路的最高工作频率主要考虑电路中的关键路径延迟。关键路径是指在整个电路中,信号传播延迟最长的路径。电路的最高工作频率的倒数就是时钟周期,而时钟周期必须大于关键路径的延迟时间。 首先要确定电路中各个模块的延迟。比如对于组合逻辑电路,可以通过查看芯片手册获取门电路的延迟参数。以一个简单的与门、或门、非门组成的组合逻辑为例,每个门都有自己的传输延迟,把信号从输入到输出经过的所有门的延迟相加,就得到这部分组合逻辑的延迟。 对于包含寄存器的电路,还需要考虑寄

大模型大数据攻城狮的专栏 1271

手搓智能体的这一年

????目录1 前言2 初捏智能体3 大模型结合业务-langchain 的来临4RAG 与 autogpt 的尝试5AI 智能体 Demo 实践6 结尾,路上过去的一年多,大模型风起云涌,不断迭代,作为一个多年 NLP 产品方向的从业者,可以说是享受其中,惊喜连连。记得22年底,那时疫情放开,身边的人全部病倒,在身体冷热交加中看到了 ChatGPT 的发布,马上在病榻上完成了注册,那时的感觉就仿佛...

QcloudCommunity的博客 1729

51单片机8×8LED点阵屏动态显示取模汉字+ Proteus仿真

51单片机8×8LED点阵屏动态显示取模汉字+ Proteus仿真 Proteus仿真 取模软件:pctolcd2002 程序代码 #include<reg52.h> unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行选 unsigned char code tabb[]={0x08,0x49,0x49,0x7F,0x08,0x49,0x49,0x7F};//选列"出" unsigned cha

perseverance51博客 8056

手搓LLM大模型:从零开始构建大语言模型

在人工智能的世界里,大型语言模型(LLMs)无疑是最引人注目的明星之一。这些深度神经网络模型的出现,为自然语言处理(NLP)领域带来了前所未有的变革。那么,这些模型究竟是如何工作的?它们又是如何从简单的语言处理任务进化到能够理解和生成复杂文本的呢?

2301_81887304的博客 1844

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

手搓大模型——qwen2原理解析

限于能力、篇幅暂时没把数学部分写上来,后续会补上但是对于qwen的原理梳理成功的将先前的有关于gpt类似的transformers模型的知识串联起来,颇有意思。

m0_75212156的博客 2648

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

从零手搓大模型之路(二、手搓一个RAG)

第二堂是动手构建一个Tiny-RAG,也就是RAG的简化版本,只包含RAG的核心功能Retrieval和Generation。整体看完源码,并听完相应的视频讲解,内容感觉还算是很容易明白,本博文记录下自己感觉相对重要的以及一些思考(持续补充)。Tiny-RAG构建检索增强生成技术(Retrieval-Augmented Generation,RAG),它的出现主要是解决大模型的“幻觉”问题,即当询问者询问一些大模型训练数据不包含的数据(如询问一些时效性比较强的或者是专业性比较强的问题),大模型可能会。

不负韶华不负己 1490

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大模型基础模型--手搓代码(Transformer和FA)

【代码】大模型基础模型--手搓代码(Transformer和FA)

xN的博客 198

【硬核】纯手搓大语言模型(LLM)从0到1全指南:技术、资源、金钱与血泪

摘要: 本文详细拆解了从零手搓大语言模型(LLM)的全流程,涵盖技术、硬件、成本与实战挑战。核心内容包括: 技术栈:需精通Transformer理论、分布式训练(ZeRO/TP/PP)、PyTorch底层实现及Linux/Docker环境。 硬件需求:玩具级(100M参数)可用单卡(如RTX 4090),7B模型需4张4090或A100,显存占用超56GB,成本达10万+人民币。 隐形成本:电费、噪音、数据清洗与存储(TB级SSD)是烧钱关键。 数据与训练:数据质量决定80%效果,需定制Tokenizer;

lzx618的博客 568

从零开始,一步步教你构建小型大语言模型(LLM):理解底层原理,打破大模型神秘感!

本文是一篇从零开始构建小型大语言模型的实践教程,通过分步详解Tokenizer设计、Embedding表示、Attention机制实现、Transformer结构搭建等关键环节,帮助读者理解大模型底层原理。文章以代码为主线,从简单的字符替换到完整的概率模型构建,展示了如何通过训练使模型从输出乱码到学会说话,最终实现一个具备基本对话能力的LLM,帮助开发者打破对大模型的神秘感。

bugyinyin的博客 774

程序员手“搓”大模型!大模型新书强势来袭:从零构建大模型

如今,像 DeepSeek 、ChatGPT 这样的 LLM 已经展现出令人惊叹的能力:从流畅自然的对话,到复杂的代码(视频)生成,这些模型正在重塑人机交互的方式,重塑数字化生产力。学习完这一章后,我对如何搭建一个能生成连贯文本的模型已经有了较清晰的理解。书中涵盖从数据预处理到模型优化的完整流程,还涉及强化学习、多模态模型等进阶话题,特别适合想“从零开始”构建、优化、应用大模型的读者。书中包含 ChatGLM、BERT、GPT 等模型的部署、微调等实践内容,可以快速迁移到自己的业务中,具有很高的参考价值。

DEVELOPERAA的博客 841

大模型时代,C语言开发还有未来吗?

摘要:C语言作为高效底层编程语言,在大模型时代面临AI生成代码、新兴语言竞争等挑战,但仍保持系统编程和嵌入式开发的核心地位。其高性能优势在AI推理、物联网设备及操作系统领域仍具不可替代性。开发者可通过结合AI工具、掌握现代C标准及跨语言协作来适应变革。尽管开发效率劣势明显,C语言在性能敏感领域仍将持续发挥关键作用,未来发展取决于开发者能否有效整合AI技术并深化专业领域应用。

kevin_Luan的专栏 652

科大讯飞星火大模型评测:从职场到日常生活,样样精通

首先,大力财经认为,科大讯飞星火大模型之所以可能成为国内最有可能超过ChatGPT中文效果的天选之子,一方面是因为中科大在理工科方面的强大人才基础和务实精神,另一方面是因为讯飞在中文自然语言处理上的长期耕耘。星火大模型很详细的给了一个视频的拍摄方案,从开场画面的旁白,到画面切换,马斯克的访问上海工厂参观和员工对话,这些细节星火大模型都会自动分析,不用额外输入信息。给进行各个角度的解答,从语言的局限,二元对立,自然法则,无为而治,个人修养的角度进行了解释,还可以限制多少字数的解答。9. 写短视频的脚本文案。

大力财经 2305

本科生60行代码教你手搓GPT大模型,技术介绍堪比教程

这一章节主要介绍了如何设置编码器、超参数以及参数。你要做的,首先是克隆代码库:然后安装依赖项:注意,如果你使用的是 M1 Macbook,在运行 pip install 之前,你需要在 requirements.txt 中将 tensorflow 更改为 tensorflow-macos。在这个项目下,文件包括 encoder.py、utils.py、gpt2.py、gpt2_pico.py:

qq_46094651的博客 1225

手写大语言模型LLM(类包装)

【代码】手写大语言模型LLM(类包装)

zwlww1的博客 694

《大模型白盒子构建指南》毕业,仅需2G显存,手搓关于LLM的一切(附PDF)

本项目将从基础原理出发,深入剖析每一个技术点并附以完整的从零代码实现,以细致讲解和代码注释帮助读者独立复现大模型核心部分,并在复现中实现对大模型的深入理解与掌握。

pythonhy的博客 720
上一篇: 虽然是高手过招的杀手锏,但是对写业务代码没有任何卵用。
下一篇: 一个适合程序员的 AI创业思路
IT界那些事儿
博客等级 码龄6年 2万+粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值