”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 用有限的资源微调 LLAMA 或文本分类

用有限的资源微调 LLAMA 或文本分类

发布于2024-09-01
浏览:320

Fine-tuning LLAMA or Text Classification with Limited Resources

我最近需要在工作中对特定用例的句子进行分类。记得 Jeremy Howard 的第 4 课:针对绝对初学者的 NLP 入门,我首先改编了他的笔记本来微调 DEBERTA。

它有效,但并不令我满意,所以我很好奇如果我使用像 LLAMA 3 这样的法学硕士会发生什么。问题是什么? GPU 资源有限。我只能访问 Tesla/Nvidia T4 实例。

研究让我找到了 QLORA。这个关于使用 QLoRA 微调 LLama 3 LLM 进行股票情绪文本分类的教程特别有用。为了更好地理解本教程,我将第 4 课改编到 QLORA 教程笔记本中。

QLORA 使用两种主要技术:

  1. 量化:降低模型精度,使其更小。
  2. LORA(低阶适应):添加小型可训练层,而不是微调整个模型。

这使我能够在 16GB VRAM T4 上训练 LLAMA 3 8B,使用大约 12GB 的 VRAM。结果出奇的好,预测准确率超过90%。

Confusion Matrix:
[[83  4]
[ 4  9]]
Classification Report:
              precision    recall  f1-score   support
         0.0       0.95      0.95      0.95        87
         1.0       0.69      0.69      0.69        13
    accuracy                           0.92       100
   macro avg       0.82      0.82      0.82       100
weighted avg       0.92      0.92      0.92       100
Balanced Accuracy Score: 0.8231653404067196
Accuracy Score: 0.92

这是详细介绍该过程的 iPython 笔记本。

这种方法表明可以在有限的硬件上使用大型语言模型。在限制条件下工作通常会带来创造性的问题解决和学习机会。在这种情况下,这些限制促使我探索和实施更有效的微调技术。

版本声明 本文转载于:https://dev.to/jkyamog/fine-tuning-llama-3-for-text-classification-with-limited-resources-4i06?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • HTML 格式标签
    HTML 格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2025-01-06
  • 如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    在 PHP 中组合关联数组在 PHP 中,将两个关联数组组合成一个数组是一项常见任务。考虑以下请求:问题描述:提供的代码定义了两个关联数组,$array1 和 $array2。目标是创建一个新数组 $array3,它合并两个数组中的所有键值对。 此外,提供的数组具有唯一的 ID,而名称可能重合。要求...
    编程 发布于2025-01-06
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2025-01-06
  • 插入数据时如何修复“常规错误:2006 MySQL 服务器已消失”?
    插入数据时如何修复“常规错误:2006 MySQL 服务器已消失”?
    插入记录时如何解决“一般错误:2006 MySQL 服务器已消失”介绍:将数据插入 MySQL 数据库有时会导致错误“一般错误:2006 MySQL 服务器已消失”。当与服务器的连接丢失时会出现此错误,通常是由于 MySQL 配置中的两个变量之一所致。解决方案:解决此错误的关键是调整wait_tim...
    编程 发布于2025-01-06
  • Go语言的Hello World
    Go语言的Hello World
    如果您刚刚涉足 Go(Golang),那么最好的起点一如既往地是永恒的“Hello, World!”程序。这个简单的练习不仅仅是一种传统;它清楚地介绍了 Go 的简洁语法、强大的标准库和极简方法。 package main import "fmt" func main() { fmt.Pri...
    编程 发布于2025-01-06
  • Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    编程 发布于2025-01-06
  • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
    编程 发布于2025-01-06
  • 除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为的主要场景bool:语句:if、whi...
    编程 发布于2025-01-06
  • 使用本地包时,为什么我的 Docker 映像构建失败并显示“导入路径不以主机名开头”?
    使用本地包时,为什么我的 Docker 映像构建失败并显示“导入路径不以主机名开头”?
    Building Docker Image with Local Package: Error "Import Path Does Not Begin with Hostname"When attempting to build a docker image with a loc...
    编程 发布于2025-01-06
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2025-01-06
  • 在 Go 中使用 WebSocket 进行实时通信
    在 Go 中使用 WebSocket 进行实时通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSocke...
    编程 发布于2025-01-06
  • 尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    解决 PHP 中的 POST 请求故障在提供的代码片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"检查 $_POST数组:表单提交后使用 var_dump 检查 $_POST 数...
    编程 发布于2025-01-06
  • 形状 - CSS 挑战
    形状 - CSS 挑战
    您可以在仓库 Github 上找到本文中的所有代码。 您可以在此处查看 CodeSandbox 的视觉效果。 通过CSS绘制各种形状 如何在CSS中绘制正方形、梯形、三角形、异形三角形、扇形、圆形、半圆、定宽高比、0.5px线? <!DOCTYPE html> <h...
    编程 发布于2025-01-06
  • Go可以创建共享库吗?
    Go可以创建共享库吗?
    在 Go 中创建共享库共享库,或动态链接库(.so 文件),允许单独的程序共享公共代码和数据,节省内存并提高性能。虽然 C 和 C 语言长期以来都支持创建共享库,但在 Go 中却不太简单。Go 中可以创建共享库吗?是的,可以可以使用 -linkshared 标志在 Go 中创建共享库。该标志允许 G...
    编程 发布于2025-01-06
  • 如何使用 CSS3 渐变创建内嵌边框半径?
    如何使用 CSS3 渐变创建内嵌边框半径?
    使用 CSS3 渐变插入边框半径通过使用 CSS3 渐变可以实现没有图像的插入边框半径。这种方法涉及分层几个透明的径向渐变,以创建元素周围向内弯曲的边框的错觉。以下 CSS 代码采用 Lea Verou 的解决方案,使用渐变创建内嵌边框半径:div.round { background: ...
    编程 发布于2025-01-06

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3