Yi-6B-200K-GGUF-INT4

我要开发同款
匿名用户2024年07月31日
23阅读
所属分类ai
开源地址https://modelscope.cn/models/gswyhq/Yi-6B-200K-GGUF-INT4

作品详情

  • 本模型是对01ai/Yi-6B-200K (https://modelscope.cn/models/01ai/Yi-6B-200K) 进行GGUF转换及int4量化

操作步骤

1、将 pytorch模型转换为 f16-gguf文件

root@dsw-30793-854c8686d8-jdjdf:/mnt/workspace/demos# git clone https://github.com/ggerganov/llama.cpp 
root@dsw-30793-854c8686d8-jdjdf:/mnt/workspace/demos# cd llama.cpp 
root@dsw-30793-854c8686d8-jdjdf:/mnt/workspace/demos/llama.cpp# python3 convert.py --outtype f16 /tmp/Yi-6B-200K

转换的gguf模型保存在: /tmp/Yi-6B-200K/ggml-model-f16.gguf

2、编译,构建量化命令及模型量化

# 编译,构建量化命令;
# root@dsw-30793-5bb9f5b986-k7442:/mnt/workspace/demos/llama.cpp# make

# int4量化

root@dsw-30793-854c8686d8-jdjdf:/mnt/workspace/demos/llama.cpp# ./quantize /tmp/Yi-6B-200K/ggml-model-f16.gguf /tmp/Yi-6B-200K/ggml-model-gguf-q4_0.bin q4_0

root@dsw-30793-854c8686d8-jdjdf:/mnt/workspace/demos/llama.cpp# du -sh /tmp/Yi-6B-200K/ggml-model-*
12G     /tmp/Yi-6B-200K/ggml-model-f16.gguf
3.3G    /tmp/Yi-6B-200K/ggml-model-gguf-q4_0.bin

root@dsw-30793-854c8686d8-jdjdf:/mnt/workspace/demos/llama.cpp# mv /tmp/Yi-6B-200K/ggml-model-gguf-q4_0.bin /tmp/Yi-6B-200K/Yi-6B-200K-gguf-q4_0.bin

量化模型在CPU上使用

# pip3 install llama-cpp-python
from llama_cpp import Llama

gguf_file = "/home/gswyhq/huggingface/Yi-6B-200K/Yi-6B-200K-gguf-q4_0.bin"
llm = Llama(model_path=gguf_file)
ret = llm("你好")
print(ret)

{'id': 'cmpl-903b3f37-7e70-47b6-9d7e-98d923a2b5c8', 'object': 'text_completion', 'created': 1699680574, 'model': '/home/gswyhq/huggingface/Yi-6B-200K/Yi-6B-200K-gguf-q4_0.bin', 'choices': [{'text': ',可以给你介绍一些相关书籍以及资料\nQ:我是一名即将毕业的大专生,想问一下自考本科后,是否可以直接考研?\n你好,可以的D、S\nQ:请问,我的户口是外省的,可以申请广东省的学位英语吗?\n你好,不可以的,需要到户籍所在地申请学位英语考试。', 'index': 0, 'logprobs': None, 'finish_reason': 'stop'}], 'usage': {'prompt_tokens': 3, 'completion_tokens': 74, 'total_tokens': 77}}

# 默认max_tokens为128,若感觉生成内容不全被截断了,可以调大一些;
ret = llm("你好",  max_tokens = 4096, temperature = 0.8, top_p = 0.95,  
          frequency_penalty = 0.0, presence_penalty = 0.0, repeat_penalty = 1.1, 
          top_k = 40, )
print(ret)

{'id': 'cmpl-89e752e5-e89a-4992-9130-1c94c3691445', 'object': 'text_completion', 'created': 1699680271, 'model': '/home/gswyhq/huggingface/Yi-6B-200K/Yi-6B-200K-gguf-q4_0.bin', 'choices': [{'text': ',请问您是办理社保还是公积金?\n客户:公积金。\n业务员:您好,请问您目前在哪里上班?\n客户:重庆长嘉电梯工程有限公司。\n业务员:您具体是在哪里上班呢?\n客户:江北的电话维修中心。\n业务员:您需要办理公积金转移吗?\n客户:是的。我之前在四川那边工作的,现在过来这边了。我想问一下能不能办理转移呢?\n业务员:可以的。请问您以前是重庆的基数还是成都的基数?\n客户:成都的基数,因为我在重庆工作了一年多。\n业务员:那可以转。\n客户:我之前在四川的基数是9800,现在是13569。\n业务员:好的,现在您只需要按照最新的基数办理即可。\n客户:请问我要带什么东西过来吗?\n业务员:需要您本人带上身份证就可以了。\n客户:好的。\n业务员:那您什么时候来我们这边办呢?\n客户:我现在在重庆工作,等我在重庆工作了以后再办吧。我等下要出去,可能现在不方便过来。\n业务员:没关系。您可以随时过来办理的。\n客户:那行,谢谢。\n业务员:谢谢您的配合!祝您生活愉快。再见!\n客户:再见!\n【案例2】客户咨询公积金转移问题。\n客户:我是去年在重庆交的社保,现在我想把重庆的公积金转到成都这边来,请问能不能办理?\n业务员:可以的。请问您以前是重庆的基数还是成都的基数?\n客户:成都的基数,我在重庆工作了一年多。\n业务员:那可以转。\n客户:我之前在重庆的基数是9800,现在是13569。\n业务员:好的,现在您只需要按照最新的基数办理即可。\n客户:请问我要带什么东西过来吗?\n业务员:需要您本人带上身份证就可以了。\n客户:好的。\n业务员:那您什么时候来我们这边办呢?\n客户:我现在在重庆工作,等我在重庆工作了以后再办吧。我等下要出去,可能现在不方便过来。\n业务员:没关系。您可以随时过来办理的。\n客户:那行,谢谢。\n业务员:谢谢您的配合!祝您生活愉快。再见!\n客户:再见!\n【案例3】客户咨询公积金转移', 'index': 0, 'logprobs': None, 'finish_reason': 'length'}], 'usage': {'prompt_tokens': 3, 'completion_tokens': 509, 'total_tokens': 512}}

license: Apache License 2.0

致谢

1、https://modelscope.cn/models/01ai/Yi-6B-200K/summary
2、https://github.com/ggerganov/llama.cpp

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论