首页 > 其他分享 >使用Llama-3.2-1B遇到的bug

使用Llama-3.2-1B遇到的bug

时间:2024-12-15 14:33:21浏览次数:3  
标签:tokenizer token 1B pad Llama 3.2

背景

在使用Llama-3.2-1B时遇到一个关于pad_tokens经验不足的bug。没有指定pad_token的时候分词器会报错,这个使用有以下两种解决策略:

  • 配一个新的token。
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
model.resize_token_embeddings(len(tokenizer))  # 如果添加了新的特殊标记,需要调整模型的嵌入层
  • 将一个存在的token标记为pad_token
tokenizer.pad_token = tokenizer.eos_token

一般来说这个问题就解决了,但是我仍然遇到了下面的问题:

ValueError: Cannot handle batch sizes > 1 if no padding token is defined.

明明我已经分配了这个pad_token,为什么仍然有问题?这主要时因为模型没有配置,所以解决策略就清楚了。

  • 强制配置pad_token:
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', pad_token=tokenizer.eos_token)
  • 给模型配置:
model.config.pad_token_id = tokenizer.pad_token_id

这样问题就解决了。查询了以下通义千问和GPT4还是不错的。所以说模型合理的加载顺序就是:tokenizer然后是model

标签:tokenizer,token,1B,pad,Llama,3.2
From: https://www.cnblogs.com/future-dream/p/18607956

相关文章

  • USB3.2 ECN是什么
    USB3.2ECN(EngineeringChangeNotice)是一个针对USB3.2标准的技术更新和修订文件。让我详细解释一下:USB3.2标准背景USB3.2是通用串行总线(UniversalSerialBus)的一个版本,用于连接计算机和电子设备,提供数据传输和供电功能。ECN的作用ECN是一种在技术标准中用于引入小规......
  • flutter零基础教程: Dart 3.5语法 flutter3.24 2024年8月27日更新
    flutter零基础教程:Dart3.5语法flutter3.242024年8月27日更新https://www.bilibili.com/video/BV1RZ421p7BL7 142024-8edu.51cto.com/course/36476.htmlP1课程大纲介绍P2002课程使用方法介绍和笔记使用P3003_mac系统查看笔记软件的安装方法和…..P4004黑苹果系统的......
  • 使用LLaMA-Factory对LLM大模型进行微调!训练专属于你的模型!
    前言如今也是出现了各种各样的大模型,如果想要针对性的让他扮演某个角色我们通常采用的是给他输入prompt(提示词)。但是如果遇到一些"思想钢印"较深的大模型,使用提示词洗脑可能效果并不好。那我们有没有其他方法来解决这个问题?当然有,那就是自行微调一个大模型!本篇文章,就带......
  • 使用从HuggingFace上下载Llama模型
    背景这里记录一下从HuggingFace上下载Llama模型的流程,方便后续使用。注册账号目前Llama的模型是需要提交申请才可以使用,因此需要先注册HuggingFace的账号。这里有两点需要注意。用户名会用来登录:用户名会用作后续下载模型使用,因此需要使用一个自己方便记忆的名称。用户名修......
  • CS61B srping 2018 examprep03 https://sp18.datastructur.es/
    flatten方法接受二维数组,返回一个一维数组比如,flatten({{1,2,3},{},{7,8}})shouldreturn{1,2,3,7,8}补全下面的程序片段publicstaticint[]flatten(int[][]x){inttotalLength=0;for(____________________________________){_______________________......
  • 星海智算:【Ollama镜像】Windows云部署教程
    1、下载和安装​Ollama官网地址:https://ollama.com/访问ollama界面,选择Download安装因为本次ollama部署在windows镜像中,所以在DownloadOllama中选择windows版本安装完成后,就可以在开始菜单中启动ollama了  右下角状态栏中出现ollama图标说明启动成功GPU算力云平台......
  • Java代码示例:使用ReentrantLock与Condition来确保两个线程可以交替打印字符和数字(两个
    在Java中,你可以使用wait()和notifyAll()方法或者更现代的同步工具如java.util.concurrent包中的Semaphore、CountDownLatch或CyclicBarrier等来实现线程间的通信。对于这个问题,我们可以使用ReentrantLock与Condition来确保两个线程可以交替打印字符和数字。下面是一个简单......
  • CS61B srping 2018 disc03 https://sp18.datastructur.es/
    为下面方法添加SLList.insert方法,要求签名如publicvoidinsert(intitem,intposition){},如果position大于最后一个元素,那就是添加到最后。(注意这个作业里的SLList和课程中介绍的SLList相比少点东西,故意的,可能是为了让学生开拓思路?)publicclassSLList{privateclassIn......
  • Meta:LLM自监督学习媲美llama3
    ......
  • 在Windows下为CodeBlocks20.3安装、配置wxWidget3.2.6
    0.前言CodeBlocks是使用C++编写程序的一个很好的开发环境,最大的好处是它是开源的、免费的,而不仅仅是因为它具有跨平台的能力。还有一个很重要的原因是在CodeBlocks中可以使用wxWidget,wxWidget也是开源的、免费的。尽管Qt和MFC也很优秀,QtCreator和VisualStudio都是很优秀的开发......