![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
llama
文章平均质量分 62
tensor.shape
这个作者很懒,什么都没留下…
展开
-
llama3的推理部署
先写个打油诗吧。这个年代还不行,还要会。Llama3大模型一见,大量工作就涌现。刚好最近我有点闲,组合巨人工作开个源。各位看官要觉得好,不如把star搞一搞。(动动你发财的手手,去github上点star哟)原创 2024-04-21 19:59:39 · 471 阅读 · 0 评论 -
llama2c(4)之forward、sample、decode
*S1:**只保留概率大于等于 (1 - topp) / (n - 1) 的词汇,并将其对应的索引和概率存入 probindex 结构体数组。S2:和上面sample_mult函数语言,这儿只是对筛选后的probindex的里面概率进行累加,如果大于了topp,返回idx。**确定next,**如果还在input prompt,那么下一个token就是next;不是,才用sample得出next。调用sample_argmax选取返回概率最高的那个索引。2)_2 其他,top-p策略。原创 2024-03-09 21:51:00 · 554 阅读 · 0 评论 -
llama2c(3)之tokenizer和encode
tokenizer的model不同于Transformer的model,Transformer的model是一些权重参数,tokenizer的model是一些分词,将一个句子分成分词的中介(模型)。,具体就是tokenizer.py文件打印出来的如token数组所示是从tokenizer_path把Tokenizer 结构体中的内容填满2.1.2 build中的tokenizer一个数字和一个0搭配好函数“fread函数原型size_t fread ( void * buffer原创 2024-03-09 20:42:56 · 1405 阅读 · 0 评论 -
llama2c(2)之Transformer结构体的填充
此时将bin文件映射到内存的config,weight,fd,data,file_size 全部赋值给TransformerWeights结构体的参数了。现在的transformer如下。原创 2024-03-08 17:07:44 · 390 阅读 · 0 评论 -
llama2c(1)之export
整个bin文件排布是256kb的header + 权重。原创 2024-03-08 13:02:14 · 449 阅读 · 0 评论 -
llama2.c的一些常规操作
【代码】llama2.c的一些常规操作。原创 2024-03-07 19:14:21 · 388 阅读 · 0 评论 -
llama.c代码2
总结来说,这段代码片段是调用encode函数来对给定的prompt文本进行token化处理,并将结果token序列存放在prompt_tokens数组中,同时通过num_prompt_tokens返回最终生成的token数量,且在这个过程中会在token序列开头添加起始符(BOS),但不会添加结束符(EOS)。对于每个完整的Unicode码点,查找其在排序后的词汇表中的索引。然后,函数尝试将tokens数组中的连续token进行合并,通过比较合并后的token在词汇表中的得分来决定是否进行合并。原创 2024-03-04 16:29:27 · 422 阅读 · 0 评论 -
llama.c中的代码
也即是t->sorted_vocab是排序好的词汇表,str_buffer是prompt中的一个个字母。用prompt中的字母在t->sorted_vocab词汇表找id,然后给tokens。对输入文本进行编码前初始化和处理token数组。排序后:地址,字母,id。原创 2024-03-04 14:03:03 · 370 阅读 · 0 评论 -
gdb调试快捷键
【代码】gdb调试快捷键。原创 2024-03-04 13:20:53 · 383 阅读 · 0 评论 -
qwen.cpp和模型下载方式
139行assert中的!=应改为==,否则在debug模式下无法正常运行。将CMakeLists.txt的Release改成Debug。原创 2024-03-02 20:49:50 · 1111 阅读 · 0 评论 -
llama2.c的run.c代码debug
调用 malloc_run_state 函数为 Transformer 结构体中的运行状态 RunState 分配内存,以便后续在模型的前向传播过程中存储临时变量的值。malloc_run_state()函数的主要功能是根据模型的配置参数 p 动态分配内存,并将分配的内存地址赋值给 RunState 结构体中的各个成员变量。调用 read_checkpoint 函数从指定的模型文件中读取模型的配置参数和权重数据,并将其存储到 Transformer 结构体的相应成员变量中。原创 2024-03-01 20:06:04 · 390 阅读 · 0 评论 -
llama2.c
左手托着左胸,右手却从小腹下抽出来一只浴桶,不想在这娇美的身躯里被你的小手会碰,让你一下子金星直冒,身躯一阵摇晃,只见又呻吟一声,向后倒去。果然,就在千钧一发之际,房顶上也终于全部被铺盖过去了,玩笑,小型的平台,各处都是厚厚的灰,犹如冬日的习惯了,周围更是笼罩着漫天的灰雾,擂台山的边缘处,一片荒凉!model文件夹中命名一个文件chinese-baby-llama2.bin,chinese-baby-llama2压缩包和解压的都放在model文件夹的。5.3 开始debug。5.3.2 启动调试器。原创 2024-03-01 16:42:36 · 980 阅读 · 0 评论