当前位置: 首页 > news >正文

临沂建设企业网站房地产网站互动设计公司

临沂建设企业网站,房地产网站互动设计公司,网站推广 扬州,南昌网站建设如何NLP实践——使用Llama-2进行中文对话 1. 前言2. 利用prompt3. 利用Logit Processor3.1 修改13.2 修改23.3 修改33.4 修改4 1. 前言 在之前的博客 NLP实践——Llama-2 多轮对话prompt构建中#xff0c;介绍了如何构建多轮对话的prompt#xff0c;本文将介绍如何使用Llama-2进… NLP实践——使用Llama-2进行中文对话 1. 前言2. 利用prompt3. 利用Logit Processor3.1 修改13.2 修改23.3 修改33.4 修改4 1. 前言 在之前的博客 NLP实践——Llama-2 多轮对话prompt构建中介绍了如何构建多轮对话的prompt本文将介绍如何使用Llama-2进行中文对话。 现有的很多项目在开源的Llama-2基础上进行了中文场景的训练然而Llama-2本身就具有多语种的能力理论上是可以直接运用于中文场景的。 本文所举例使用的模型为Llama-2-7b-chat-hf。 2. 利用prompt 首先可以想到的是使用prompt。可是即便是在prompt中添加了要求模型回答中文的提示模型仍然回答的是英文。 从对话内容可以看到模型可以理解用户的问题却没有输出中文 你好Hello! Im here to help answer any questions you may have. Is there something specific youd like to know or discuss? Please feel free to ask, and Ill do my best to assist you. 3. 利用Logit Processor 在之前另一篇博客 以Llama-2为例在生成模型中使用自定义LogitsProcessor中介绍了怎样使用logits processor来改变生成过程中的概率进而改变生成的结果。那么可以直接想到的是把tokenizer中所有中文字符的概率调大一些就可以强行要求模型生成中文了。 3.1 修改1 首先利用unicode范围获取常见的汉字 import re def is_chinese(word):判断一个字符串是否为汉字if re.match([\u4e00-\u9fff], word):return Trueelse:return FalseCHINESE_TOKEN_IDS [token_id for token, token_id in tokenizer.vocab.items() if is_chinese(token)]然后就可以实现一个processor来提高这些token对应的概率 from transformers.generation.logits_process import LogitsProcessor, LogitsProcessorListclass ChineseLogitsProcessor(LogitsProcessor):生成中文字符---------------ver: 2023-08-02by: changhongyudef __init__(self, chinese_token_id_list: List[int] None,alpha: float 5)::param chinese_token_id_list: 中文token的token的id列表:param alpha: 放大倍数self.chinese_token_id_list chinese_token_id_listself.alpha alphadef __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor) - torch.FloatTensor:for id_ in self.chinese_token_id_list:scores[:, id_] * self.alphareturn scores在生成之前按照之前博客中介绍的方法创建processor logits_processor LogitsProcessorList() logits_processor.append(ChineseLogitsProcessor(CHINESE_TOKEN_IDS))3.2 修改2 然而模型却生成起来停不下了。这是因为没有将EOS token的概率也做相应的放大。 CHINESE_TOKEN_IDS.append(tokenizer.eos_token_id)这下模型可以输出中文了 你好好的好的大家好的我是一个智能问题机器人我可以回应你的问题请问你有任何问题或需要我的服务可是看起来好像哪里怪怪的原来是没有标点。 3.3 修改3 既然没有标点那我们再把标点符号的概率也放大就好了 puncs [, 。, , , “, ”, , ,, ., ?, !, , , :] CHINESE_TOKEN_IDS [token_id for token, token_id in tokenizer.vocab.items() if is_chinese(token)] CHINESE_TOKEN_IDS.extend(tokenizer.convert_tokens_to_ids(puncs)) CHINESE_TOKEN_IDS.append(tokenizer.eos_token_id)现在eos也有了标点符号也有了然而还是出意外了 你好:你好我是一个智能问题机器人我的任务是回应用户的问题。请问你有任何问题3.4 修改4 现在模型倒是可以说中文也带标点了但标点出现在了最开头。这样的话我们可以再添加一个processor不让这些标点出现在最开始就可以了。 class SuppressSpecificBOSTokenLogitsProcessor(LogitsProcessor):防止生成的第一个token是某些特定的token---------------ver: 2023-08-02by: changhongyudef __init__(self, bad_bos_token_id_list: List[int] None)::param bad_bos_token_id_list: 不可以作为第一个token的token的id列表self.bad_bos_token_id_list bad_bos_token_id_listdef __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor) - torch.FloatTensor:new_token_len input_ids.shape[-1] - current_token_lenif new_token_len 0:for id_ in self.bad_bos_token_id_list:scores[:, id_] -float(inf)return scores将两个processor放在一起 logits_processor LogitsProcessorList() logits_processor.append(ChineseLogitsProcessor(CHINESE_TOKEN_IDS)) logits_processor.append(SuppressSpecificBOSTokenLogitsProcessor([tokenizer.convert_tokens_to_ids(punc) for punc in puncs]))终于可以让模型实现中文对话了 你好好的好的你好对不起我不知道你问的问题请问你想问些事情虽然回答的还是有点奇怪但使用中文与模型进行对话的目的也的的确确是达到了。
http://www.yutouwan.com/news/188781/

相关文章:

  • 甘肃建网站wordpress导入文件格式
  • 网站开发服务器怎么选群晖wordpress端口
  • 张家界旅游网站官网百度平台营销
  • 网站需求分析的主要内容海沧网站建设
  • 做外贸开店用哪个网站代理公司收费标准
  • 西安网站设计培训试听wordpress媒体图片压缩比
  • 怎样局域网站建设辽宁网站定制企业
  • 做恐怖网站短视频素材网站免费大推荐
  • wordpress 建企业网站尤溪县建设局网站
  • 潍坊网站制作价格做招聘网站做服务器多少钱
  • 广西建设中心培训网站如何引用网站上的资料做文献
  • discuz品牌空间网站wordpress写文章页面无法显示
  • 成都网站关键字优化wordpress 中文文件重命名
  • 做蛋糕网站的优点wordpress中文博客
  • 做国外贸易哪个网站好深圳 网站开发
  • 宾馆网站模板wordpress如何添加tag标签页面
  • 太仓做网站的wordpress 豆瓣fm
  • wap门户网站源码做动态效果的插件网站
  • 微信公众号 网站开发详情页模板软件
  • 个人网站需要备案模板之家免费官网下载
  • 焊枪公司网站怎么做响水县住房和城乡建设局网站
  • 做问答网站要多少钱徐州 商城网站
  • 网站总体规划设计说明营销战略咨询
  • 中亿丰建设集团股份有限公司网站设计素材网站哪个好用
  • 做网站一般要了解哪些网站开发工具微软
  • 进不去的网站用什么浏览器wordpress同时置顶多篇文章
  • 科协科普网站建设建立企业网站的详细步骤
  • 给别人做网站前要问些什么问题单位网站建设流程
  • 江西网站建设公司排名unas做网站服务器
  • 如何建设红色旅游网站软文推广教程