flash-Attention2安装和使用

news2024/11/26 4:20:47

flash-Attention2安装和使用

文章目录

  • flash-Attention2安装和使用
    • 写在前面
    • 解决方案

写在前面

  • 就怕你不知道怎么查 pytorch、cuda 的版本

    • 配置cuda:vim ~/.bashrc

      export CUDA_HOME=/usr/local/cuda/
      export PATH=$PATH:$CUDA_HOME/bin
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
      
    • 运行配置文件:source ~/.bashrc

    • 查看cuda版本:nvcc --version

    • 检查pytorch版本和cuda的可用性:python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

  • 问题

    如题所示,flash-Attention2从安装到使用一条龙服务。是不是pip安装吃亏了,跑来搜攻略了,哈哈哈哈哈,俺也一样 😢

  • 参考链接

    • https://blog.csdn.net/chongch_wang/article/details/136542877
    • https://blog.csdn.net/lxb206/article/details/130683772

解决方案

  • 去下载whl:https://github.com/Dao-AILab/flash-attention/releases

    • 我的配置为:
      • cuda:11.6
      • pytorch:1.13
      • python:3.10
    • 那么我要去flash-attn中我能下载的最新版本:2.3.5
    • 下载:flash_attn-2.3.5+cu116torch1.13cxx11abiFalse-cp310-cp310-linux_x86_64.whl,直接点了下就行,命令行为:wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.3.5/flash_attn-2.3.5+cu116torch1.13cxx11abiFalse-cp310-cp310-linux_x86_64.whl
    • 安装:pip install flash_attn-2.3.5+cu116torch1.13cxx11abiFalse-cp310-cp310-linux_x86_64.whl -i https://mirrors.aliyun.com/pypi/simple/,加个镜像提速没毛病
    • **注意:**abiTrue的不行,False的可以,就很奇怪,True的会报错:...-linux-gnu.so: undefined symbol: _ZN3c104cuda9SetDeviceEi...
  • 问题处理:模型可以启起来,但是模型推理时报错RuntimeError: CUDA errOr: CUBLAS STATUS INVALID VALUE when calling cublasGemmEx...

    报错截图

    • 解决:卸载了nvidia-cublas-cu11=11.10.3.66:pip uninstall nvidia-cublas-cu11
    • 再启就没问题了,怎么说,给个赞不过分吧~
  • 模型推理

    什么?怎么用你还不知道,就框框下是吧,醉醉的。加载模型的时候,添加一个配置项:attn_implementation="flash_attention_2"

    AutoModelForCausalLM.from_pretrained(
        model_name_or_path,
        device_map='auto',
        torch_dtype="auto",
        attn_implementation="flash_attention_2"
    )
    

记得点赞~ 😄


  • ☁️ 我的CSDN:https://blog.csdn.net/qq_21579045
  • ❄️ 我的博客园:https://www.cnblogs.com/lyjun/
  • ☀️ 我的Github:https://github.com/TinyHandsome
  • 🌈 我的bilibili:https://space.bilibili.com/8182822
  • 🥑 我的思否:https://segmentfault.com/u/liyj
  • 🍅 我的知乎:https://www.zhihu.com/people/lyjun_
  • 🐧 粉丝交流群:1060163543,神秘暗号:为干饭而来

碌碌谋生,谋其所爱。🌊 @李英俊小朋友

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1873326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分页插件 count有数据,代码不往下执行

如下:如果打印了sql那么当row>0时会有图2下面sql详情的输出 问题出在了分页参数上,pageNum为1,并且pageSize>2才能打印出图二的结果,图一为pageNum值是0,注意,查询第一页,分页应该传入的是1而不是0

松下的台灯值得入手吗?书客、飞利浦真实横评大分享!

我们都知道,无论是学习还是工作,都需要一个良好的照明环境,而台灯就是我们日常生活中非常重要的照明工具。它不仅能够提供额外的光线,还能减少眼睛疲劳,提高我们的工作和学习效率。 所以,选购一款合适的台…

根据后端返回的省市区重新封装树结构(省市区通过children表示)

对比图(截取部分): 注:先看分步,最后会附上完整代码(如果有用,可以给小编点个赞吗?十分感谢) 1.首先将前端返回相同的省份只展示一次 const obj {}; let keyList []r…

安防监控视频平台LntonAIServer视频监控管理平台裸土检测算法技术核心和应用场景

LntonAIServer裸土检测算法是一种基于人工智能技术的创新解决方案,旨在实现对裸土地表的自动识别。以下是对该算法的详细分析: 技术基础: 1、该算法利用深度学习和计算机视觉技术,通过捕捉视频或图像中的关键信息,如…

SDIO学习(2)--SD卡 2.0协议

目录 1 SD卡简介 1.1 SD卡概念 1.2 SD卡外形和接口 1.3 SD卡特点 2 SD 2.0特点 3 SD 2.0总线拓扑结构 3.1 SD模式 3.2 SPI模式 4 SD 2.0总线协议 5 SD卡寄存器 5.1 OCR寄存器 5.2 CID 寄存器 5.3 CSD 寄存器 5.3.1 CSD结构 5.3.2 CSD寄存器 (CSD Version 2.0)…

软件测试之接口测试(Postman/Jmeter)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是接口测试 通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来…

从零开始备考CCIE安全,这么做就对了

CCIE Security认证是思科提供的最高级别的安全认证,验证在设计、实施和故障排除复杂的安全网络基础设施方面的能力。 获得CCIE Security认证不仅是对你网络安全专业知识的高度认可,更是职业发展的重要转折。 它能够显著提升你的职业竞争力,为…

制造企业的仓库管理如何做好数据分析?

在竞争激烈的现代制造业环境中,仓库管理成为许多生产制造企业面临的一大挑战。随着产品种类的不断增加和客户需求的日一个型号,仓库不仅要处理物料、半成品和成品,还要应对产品更新换代、不同项目客户的特殊需求等复杂因素。面对这些挑战&…

分布式kettle调度管理平台简介

介绍 Kettle(也称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,由Pentaho(现为Hitachi Vantara)开发和维护。它提供了一套强大的数据集成和转换功能&#xff0c…

什么是产线工控安全,如何保障产线设备的安全

什么是产线工控安全? 工控,指的是工业自动化控制,主要利用电子电气、机械、软件组合实现。即是工业控制系统,或者是工厂自动化控制。产线工控安全指的是工业控制系统的数据、网络和系统安全。随着工业信息化的迅猛发展&#xff0…

首户完工!江门市特殊困难老年人家庭适老化改造资助项目初见成效

日前,江门市特殊困难老年人家庭适老化改造项目取得新进展。位于蓬江区杜阮镇的黄伯家,成为“慈善筑迹溢彩同行”江门市特殊困难老年人家庭适老化改造项目资助的首户完工受益户。 黄伯的家由两座旧平房构成,大门门槛处原步差较大,…

spring aop 初探

org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#wrapIfNecessary 分析JDK动态代理 生成的代理对象 构造函数,入参为 InvocationHandler public com.sun.proxy.$Proxy164(java.lang.reflect.InvocationHandler) 生成动态代理Class对象&…

免交互和嵌入执行模式

目录 概念 语法格式 统计行数 赋值变量 修改密码​编辑往文件里添加内容 ​编辑​编辑引入变量 整体赋值​编辑 加引号不赋值变量 expect实现免交互 免交互设置密码 免交互切换用户 嵌入执行模式 添加用户并免交互设置密码 免交互登录 传参实现ssh 练习 概念 …

day22--77. 组合+216.组合总和III+17.电话号码的字母组合

一、77. 组合 题目链接:https://leetcode.cn/problems/combinations/ 文章讲解:https://programmercarl.com/0077.%E7%BB%84%E5%90%88.html 视频讲解:https://www.bilibili.com/video/BV1ti4y1L7cv 1.1 初见思路 组合问题用回溯学会使用剪…

Java的异常处理体系

目录 异常处理1、Java的异常类层次结构2、try-catch-finally 使用注意事项3、在Web应用中如何实现全局异常处理机制 异常处理 1、Java的异常类层次结构 其中Error表示程序运行错误 常见的错误类型有: OutOfMemoryError (内存溢出错误) StackOverFlowError (栈内存溢…

计算机等级考试二级Java-第二篇:基本数据类型

1.运算符的优先级以及复杂表达式 优先级运算符结合性1( ) [ ]  .从左到右2!  ~    –从右到左3*  /  %从左到右4  -从左到右5<<  >>  >>>从左到右6<  <  >  >  instanceof从左到右7  !从左到右8&从左到右9^从左到右10|从…

定制聊天机器人,实现智能客服,完成冰箱报修对话 | Chatopera

系列文章 1/3 智能客服体验分析&#xff0c;使用小程序海尔服务完成电器报修 | Chatopera2/3 Chatopera 云服务实现类海尔服务智能客服的功能点比较 | Chatopera3/3 定制聊天机器人&#xff0c;实现智能客服&#xff0c;完成冰箱报修对话 | Chatopera 本篇为第三篇&#xff0…

突破SaaS产品运营困境:多渠道运营如何集中管理?

随着数字化时代的到来&#xff0c;SaaS&#xff08;软件即服务&#xff09;产品已成为企业日常运营不可或缺的工具。然而&#xff0c;在竞争激烈的市场环境下&#xff0c;SaaS产品运营越来越重视多渠道、多平台布局&#xff0c;以更广泛地触及潜在用户&#xff0c;然而&#xf…

报工计件工资核算h5开源版开发

报工计件工资核算h5开源版开发 小型计件工资管理系统&#xff0c;支持后台制定工价&#xff0c;核算工资。支持员工H5端报工&#xff0c;和查看工资情况。 H5手机端 支持在线报工&#xff0c;支持查看我的工资。 自定义费用项 在基础计件工资基础上增加扣除和增加项&#xff…

日元一路暴跌,对日股是利好还是利空? “年中高息”效应不再,货基与回购收益率走低

日元汇率自5月突破155后&#xff0c;股市已开始认识到日元疲软的负面影响&#xff0c;日元贬值与股价上涨的相关性已被打破&#xff0c;股市投资者现在需要关注日元贬值的水平。 6月28日周五&#xff0c;美国重磅PCE物价指数公布前夕&#xff0c;日元再度深跌至1美元兑161日元&…