码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Windows10上使用llama-recipes(LoRA)来对llama-2-7b做fine-tune


    刚刚在Windows10上搭建环境来对llama2做finetune,里面坑还是挺多的,这里把印象中的坑整理了一下以作备忘。

    llama-recipes是meta的开源项目,Github地址为:GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model

    llama2同样也是meta的开源LLM模型,因此用此项目做finetune应该是正确的方向;

    模型的选择

    模型在自然是在huggingface上下载到的,上面的模型很多,因此您也有很多选择。程序加载模型采用了torch因此需要选择带有pytorch-xxx.bin的目录。本人选择的是daryl149/llama-2-7b-chat-hf(daryl149/llama-2-7b-chat-hf · Hugging Face)

    数据集选择

    默认数据集是samsum_dataset;使用这个数据集的目标是为一段文字做总结。本人的模型微调目标是问答,所以使用了模型提到的另一个数据集:stanford的alpaca_dataset(文本数据21.7 MB)。

    数据集请见:Stanford CRFM 

    这里我是用项目自带的notebook “quickstart”来一步步执行的,所以我们需要在代码中对数据集进行调整

    train_dataset = get_preprocessed_dataset(tokenizer, alpaca_dataset, 'train')

    依赖包下载

    依赖包下载比较麻烦,这里是坑最多的地方;国内的网速是一方面,类库对Windows系统的支持是另一方面。

    国内镜像加速

    很庆幸在互联网上找到了这个清华的源,在pip安装的时候可以加上参数:

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

    torch的下载

    我这边经过requirement下载的默认是CPU版本的(😓)

    需要卸载并安装GPU版本的,本人目前没有调通CPU版本的程序(从实际角度来说,也是GPU在真实场景下使用概率更高)。如何在安装请参考Start Locally | PyTorch

    这里我通过CONDA,装的是CUDA11.8

    conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

    一步步处理缺失的包

    这里大概就是缺什么包就装什么包

    有一点需要额外关注的,就是程序识别不到GPU

    这种情况一是安装了CPU版本的pytorch,在前面提到了解决方法;还有一种可能是bitsandbytes的问题;

    在Windows10中,我最后同时安装了bitsandbytes 0.39.0版本和bitsandbytes-Windows 0.37.5版本;

    同时参考了这篇文章:win11下bitsandbytes的用法 – yinfupai

    我仅仅是将main.py 中的evaluate_cuda_setup() 函数做了修改,如下:

    1. #return binary_name, cudart_path, cuda, cc, cuda_version_string
    2. return "libbitsandbytes_cuda118.dll", None, None, None, None

    我安装的cuda版本是11.8,因此做如上修改;

    运行程序

    在我的机器上运行一个epoch要50多个小时(😓),想要发挥作用还是需要更好的算力支持啊!

  • 相关阅读:
    【附源码】Python计算机毕业设计木几画室管理系统
    这些项目管理实际问题,你遇到过几个
    这几个重要协议,是网络工程师加薪的秘密
    汇编-EQU伪指令(数值替换)
    好消息,终于可以获取到支付宝【支付交易投诉】的信息了。。。
    C#开发——基础语法
    如何深入理解“有限状态机”的设计思想?
    申请发明专利的重要性和注意问题
    kafka生产者发送消息报错 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
    【C++ 科学计算】线性代数和科学计算库 Armadillo 构建安装
  • 原文地址:https://blog.csdn.net/lhf2112/article/details/132637690
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号