关于Llama2,关于FreeWilly2,关于百川,还有Autodl

        事情的起因是FB开源了llama2,领导让我试试,由于公司只有云服务器,所以我在一个负载比较轻的4090的云服务器上开整。这个东西非常简单,就是git clone代码,然后申请下载权重,下载好权重后,一个命令搞定。简直就跟把大象装进冰箱一样简单,,,的吧!

关于百川大模型        

        由于下载又上传模型的时间太久,这期间还顺便玩了下百川大模型。

        百川真的是,git直接是中文readme,感觉服务各种周到,就是装环境花了好长时间,这里吐槽一下autodl,根目录太小了,只有25G,且不能扩容,感觉随便装个环境就爆了,需要不时的删除~/.cache/pip文件夹,在多次爆了根目录后,终于新建了一个环境放在工作目录下,这次只需要漫长等待就可以了。

        百川大模型提供了7B和13B,其中13B-chat就是已经做了对齐,一切准备就绪,执行了脚本后就激动的发现显存爆了。

        第二天

        领导买了a100的80G显存的,8块多一小时,让我再试试,,,此时百川占用大概26G左右,顺利启动,demo直接启动streamlit,对话还算流畅,但是不算靠谱,这边的测试是,问亚洲的经济强国,回答会有中国香港和中国台湾,这个不好评判对错,严格来说就是错了,这个主要还是怕审核,把这俩认定为国家,会被捏死的,但是gpt的回复就没这个问题。然后测试对话的记忆性,比较玄学,有的时候能记住有的时候不能记住,,,就比如说先说一句我喜欢吃鱼,再随便聊会儿后,再问他我喜欢吃什么,回答大概就是我是一个模型,我不能知道你的相关信息,大概这样。但是有的时候问前面对话的问题,又可以记住,不太了解其中的细节原因。

        百川可以进行量化,readme写了怎么做,我试了下int4的量化,显存占用变得非常小了,他自己说是10G以内,试了下,确实小了非常多,不做量化的话,好像用着用着就30G以上了,但是做了量化后,感觉回复变慢了,不知道是不是错觉,还有,因为做的是动态的量化,加载模型的时间就太久了,没有心里准备的话还以为程序挂了,也给个提示啥的。

关于Llama2        

        此时llama也弄好了,环境和百川可以共用,我们先试的13B,报错,因为MP没有改,改为2后,再报错,报错也没有具体的提示,就是说子进程死了,所以父进程也死了,查了很久不知道为啥,最后发现自己糊涂了,谜底就在谜面上,他这个MP的参数就是指的分布式使用的设备数,13B要两个设备,也就是两张卡,虽然我这a100有80G,但人家也是不行的。

        再申请了两卡v100的服务器,此时发现一个问题,13B的模型,不是每次都能加载成功的,经常就是看到,只有一张卡的显存在变化,然后归0,也不知道为啥,多试几次才能有零星几次成功,而且llama的readme感觉也很不完善,没说要怎么用,只能看demo自己揣测。

        当然了,经常用大模型的人可能会觉得,应该都差不多嘛,不就是设定一个背景(system),然后提问(user),得到回复(assistant)

        在体验上,虽然我在system限定必须使用中文回答,或者是只能说中文,这段话中英文都试了,但是程序的回复,要么是中英混杂,要么就是纯英文。然后我提问中给他设定中国问身份,结果他嘴上说着好的,再提问还是回答英文。而且最开始试的时候,用英文限定要求说中文,结果出的是繁体字。

        最后,本来我想自己做一个命令行式的连续提问回答或者是通过flask发送得到回复,结果要么是无法加载权重要么是一只卡住不做回复。

        网上看了下,做了部署,做了中文对齐之类的,还挺多的,当时我试的有点早,现在再来折腾,看了下,很多都是基于7B的,而我用的是13B,而且用的是原版,而其实官方还提供了hf后缀的,使用通用的方法加载的方法,而原版的要用他自己的加载方式,分布式什么的,比较麻烦。看着好像也没有用这个,我自己记录一下。

        首先,他的启动方式,torchrun,用的ddp的分布式方法,单机多卡,如果是13B就要双卡,70B的话就要8卡,加载方式就是每张卡加载一个文件,像是70B的话,每张卡的显存占用大概是18G左右,如果是hf权重的话,除了最后一张卡,其他7张卡大概也是18G左右,int4量化后大概是10G。

        然后既然是分布式启动,也是从启动开始就是有多个进程的,此时如果是想通过flask提问,应该是给每个进程都要发prompt,然后只取第一个进程的结果就可以了,之前卡住可能就是因为只对某一个进程做了处理,这样是不行的。

        对于这个版本没有特别深度的使用,因为感觉很容易出错,比如在终于得到第一句回复之后,再接着提问,就报错了,提示cuda device乱了的问题,,这个我也不知道要怎么处理,也不知道发生了什么,总之就是,尽量使用hf版本的权重就好了,不要自己折腾了。

关于Freewilly2

       我觉得除了模型大了点,其他的都还挺好的,体验上,最起码中文的支持已经非常不错了,聊天上感觉还行,但是,他好像相关技术文档不好找,这边就是根据HF上一个小片段给的prompt,也不知道格式对不对,总之就是,聊前两句还可以,后面突然他开始提问了,这还不算,提问也就算了,还能自己回答,提问的格式还是我拼起来的prompt的格式,,,甚至还能自问自答好几轮,弄得场面有点非常奇怪。也不知道为什么会出现这种情况。

        但是从体验上来讲,忽略内容上的乱七八糟,感受上还是可以的。使用上也比较方便,官方虽然信息很少,但是那个小代码片段,就已经包含了加载权重,prompt格式啥的,剩下的就是自己慢慢琢磨也行吧,最近想看看他的相关论文,看看各个参数是怎么弄的,结果找不到,这东西关注度感觉远不如llama啊。

关于autodl

        价格不贵,卡有的时候有点紧张。

        根目录太小,默认硬盘也比较小,只有50G,扩容需要收费,但是收费也就算了,很多时候好不容易抢到卡了,结果硬盘不能扩充了,还有内存也是。

        最近最大的槽点,除了根目录问题外,还有,数据传输上,比如我前面用的这些大模型,权重就是几百G,如果通过git在HF上下载,速度也不够快,而且他需要双倍的硬盘空间,不仅下载下来权重,还有个,git目录,貌似lfs的下载机制是先下载到.git中,再在传输完毕后从.git复制出来。然后我在本机下载再上传服务器,这个速度也不快,主要是上传很花时间。

        解决方法是,1,autodl可以无卡模式启动,此时就给你最低配置,价格低到0.1一个小时,然后加上硬盘扩容的费用,然后在里面开git下载;2,上传阿里云盘,autodl可以在控制台连接阿里云盘,然后将云盘文件下载过去。

        这边先试了第2种,因为我本地电脑硬盘不足,所以下载一个上传一个删除一个,弄了好久,终于全上传云盘后,发现在服务器内,控制台的下载,连接非常不稳定,速度也不稳定,就是要么是没速度,要么是速度起来了,然后下载失败了,总之就是毫无意义。

        然后采用的第一种,但是这样的话,虽然下载的成本稍微低一点,但是不能锁定显卡,可能数据准备好了,又没有显卡了,此时只能通过在服务器内scp拷贝到有显卡的服务器,速度会比我本地上传快一些。

        最后,推荐一个git,他提供了一个客户端,通过命令行启动,登录,下载,上传,而且速度比autodl的那个好多了,速度快且稳定,就是他好像不能修改默认下载目的地址,而默认地址在根目录下,导致根目录直接爆满,解决方法就是在同一个地方建一个链接就可了。

        最后总结一下,现在新花样太多了,一直闷头做自己的事,等抬头再看这个世界,发现跟之前已经完全不一样了,深度学习环境也不一样了,cuda通过pip就能装,还有很多会使用venv虚拟环境,然后webui也比较流行了,gradio还有streamlit什么的,以前都是完全没接触过的东西,然后llm大模型,以前都没有玩过,很多参数都不知道是啥意思,还有HF,以前更是没接触,,,这个世界,太快了,当然也跟我之前一直玩图像有关系。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值