首页 > 其他分享 >快速上手llama2.c

快速上手llama2.c

时间:2023-11-26 14:59:32浏览次数:45  
标签:run 快速 fish Ollie llama2 上手 was He

title: 快速上手llama2.c
banner_img: https://github.com/karpathy/llama2.c/blob/master/assets/llama_cute.jpg
date: 2023-7-25 16:19:00
tags:
- 踩坑

快速上手llama2.c

llama2.c一个完整的解决方案,可以使用PyTorch从头开始训练的Llama 2 LLM(Lightweight Language Model)模型,并将权重导出为二进制文件,然后加载到一个简单的500行C文件(run.c)中进行推理。另外,你也可以加载、微调和推理Meta的Llama 2模型(但这部分仍在积极开发中)。因此,这个仓库提供了一个"全栈"的训练和推理方案,专注于极简和简洁性。你可能会认为只有拥有数十亿参数的LLM才能实现有用的功能,但事实上,如果领域足够狭窄,非常小的LLM也可以表现出惊人的性能。建议参考TinyStories论文以获得灵感。

需要注意的是,这个项目最初只是一个有趣的周末项目:作者在之前的nanoGPT基础上进行了调整,实现了Llama-2架构而不是GPT-2,并且主要的工作是编写了C推理引擎(run.c)。因此,这个项目还比较年轻,并且在快速发展中。特别感谢llama.cpp项目为此项目提供了灵感。作者希望保持超级简洁,所以选择了硬编码Llama 2架构,采用fp32精度,并仅使用纯C编写一个没有依赖项的推理文件。

首先clone整个仓库并编译

git clone https://github.com/karpathy/llama2.c.git
cd llama.c
gcc -O3 -o run run.c -lm

接下来下载模型

wget https://karpathy.ai/llama2c/model.bin -P out

或者下载更大的一个模型

wget https://karpathy.ai/llama2c/model44m.bin -P out44m

接下来进行推理

./run out/model.bin

我们将会看到这样一段输出就代表运行成功

<s>
 One day, a little otter named Ollie went to play in the river. Ollie was very compassionate. He loved to help his friends in the town.
While playing, Ollie saw a big fish. The fish was stuck in the mud. "Help me, please!" said the fish. Ollie wanted to help the fish. He swam away, looking for something to break the mud.
Ollie found a small stick. He used the stick to break the mud. The fish was free! "Thank you, Ollie!" the fish said. The fish was happy and swam away.
Ollie felt good for helping the fish. He went back to play in the river. Ollie knew that helping others made him feel good. And from that day, Ollie was always compassionate to everyone.
<s>
 Tom was a big boy who liked to help his mom. He saw his mom doing laundry and asked if he could join. His mom said yes, but he had to be careful with the iron. The iron was hot and had a button on it.
Tom took the iron and ran to the house. He wanted to iron his shirt
achieved tok/s: 178.148921

标签:run,快速,fish,Ollie,llama2,上手,was,He
From: https://www.cnblogs.com/studyinglover/p/17857233.html

相关文章

  • 快速上手llama2.c(更新版)
    title:快速上手llama2.c(更新版)banner_img:https://github.com/karpathy/llama2.c/blob/master/assets/llama_cute.jpgdate:2023-7-2816:31:00tags:-踩坑快速上手llama2.c(更新版)在上一次我同时在我的博客和知乎发布了快速上手llama2.c之后,我一个小透明也收获了不......
  • 让电脑开机飞起,打开快速启动功能
    一、介绍  正常配置的电脑,开机在两分钟以上就属于较慢的范畴,可以通过Win10系统中的快速启动功能提高开机速度。二、操作流程1、打开控制面板,选择硬件和声音;2、选择更改电源按钮的功能;3、勾上启用快速启动(推荐);4、如果是灰色不能操作,点击上面的更改当前不可用的设置即可。三、其他......
  • 统计指定月份的总金额,用SUMPRODUCT函数快速解决!
    1职场实例小伙伴们大家好,今天我们来讲解一个关于SUMPRODUCT函数解决指定月份汇总金额的职场真实案例。如下图所示:是一张每日的产品数量单价明细表格。A列为日期,B列为数量,C列为单价,数量乘以单价即为当天的总金额,但是总金额数据在数据源中是没有体现出来的。我们想要在F2单元格汇总出......
  • DataX快速入门
    DataX3.0快速入门一、DataX3.0概览DataX是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内部被广泛使用的离线数据同步工具/平台。解决了数据库之中的数据同步、迁移问题,把网状结构转为星型结构,主要用于数据库之间传送业务数据。为了解决异构数据源同步问题,DataX将复杂的......
  • Java开发者的Python快速进修指南:面向对象基础
    当我深入学习了面向对象编程之后,我首先感受到的是代码编写的自由度大幅提升。不同于Java中严格的结构和约束,Python在面向对象的实现中展现出更加灵活和自由的特性。它使用了一些独特的关键字,如self和cls,这些不仅增强了代码的可读性,还提供了对类和实例的明确引用。正如Java,Python也......
  • Java开发者的Python快速进修指南:面向对象进阶
    在上一期中,我们对Python中的对象声明进行了初步介绍。这一期,我们将深入探讨对象继承、组合以及多态这三个核心概念。不过,这里不打算赘述太多理论,因为我们都知道,Python与Java在这些方面的主要区别主要体现在语法上。例如,Python支持多重继承,这意味着一个类可以同时继承多个父类的属......
  • 武汉星起航:亚马逊跨境电商快速发展,跨境电商迎来黄金时代
    随着全球化进程的不断加深,亚马逊跨境电商在国际市场上呈现出蓬勃发展的势头,为跨境卖家创造了广阔的发展空间。这一趋势不仅受益于数字化技术的普及,更是全球贸易合作加强的结果。本文将深入探讨亚马逊跨境电商的发展前景以及跨境卖家所拥有的巨大发展空间。亚马逊作为全球最大的在线......
  • Linux下利用Docker快速部署Kafka
    1.摘要Kafka是由Apache软件基金会开发一个开源流处理平台,使用Scala和Java编写,该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个按照分布式事务日志架构的大规模发布/订阅消息队列。这种工作方式使它为企业级基础设施来处理流失数据非常......
  • casbin快速入门:grom适配器管理策略
    一、概述上一讲我们已经讲了基础的策略管理。用配置文件来管理,在大型项目里肯定是不够的。所以这一讲我们讲一下用数据库来进行策略管理,我们选择Mysql。官方网站也给我们推荐了对应的适配器:我们选择Grom这个适配器来进行管理,主要是我们后期使用gin框架,这个比较习惯:二、添加适配器代......
  • Ubuntu 安装 JMeter:快速搭建高效性能测试环境
    ApacheJMeter是一个开源的负载测试工具,可以用于测试静态和动态资源,确定服务器的性能和稳定性。在本文中,我们将讨论如何下载和安装 JMeter。安装Java(已安装Java的此步骤可跳过)要下载Java,请遵循以下步骤:输入命令 `sudoaptinstallopenjdk-11-jre-headless` 进行安装。输入......