大模型之路2:继续趟一条小路

继续趟一条小路,可谓是充满了曲折,当然,必不可少的还是坑。

吐槽

看过的喷友,其实你看完以后,大概率也就是和我一起骂骂街,因为....我也的确没理清楚。

我也不知道做错了什么,就是运行不过去。然后。。。 也不知道做对了什么,看起来好像前进了一点点,但就是没有到达美丽的彼岸。握草

部署环境的时候,似乎是有点坑的。一方面是版本兼容问题。另外我今天还遇到了几个没看懂的坑,感觉就像九九八十一难之后又来到了天坑悬崖边。

环境

安装torch等等就不多说了,任意搜都可以。然后一测试,通了,OK

import torch
x = torch.rand(5,3)
print(x)
torch.cuda.is_available()

测试

我是做了一个实体识别的测试。

# 测试推理和统计正确率
all_acc, all_recall = 0, 0
startRow = 0
read_row = 100
for i in range(startRow, len(txtLines)):if i > startRow + read_row:breaktxt = txtLines[i]print(i)json_item = json.loads(txt)labels = json_item['label']t_dict = {}for k in labels:t_label_dict = labels[k]t_dict[data[k]] = list(t_label_dict.keys())ret = predict(json_item['text'], showMsg = False) # 就是运行聊天,得到聊天结果#print("json_item['text'] = ", json_item['text'])print('label: ', t_dict)try:ret_dict = json.loads(ret)tKeys = list(ret_dict.keys())for k in tKeys:if ret_dict[k] in [ '未提供', '未知' , '无', '' ]:ret_dict.pop(k)print('识别结果', ret_dict)acc, recall = evaluate(t_dict, ret_dict)  # 就是我自己写了个简单的统计正确率和召回率all_acc += accall_recall += recallprint('acc= %.2f, recall=%.2f, all_acc=%.2f, all_recall=%.2f'%(acc, recall, all_acc/(i-startRow+1), all_recall/(i-startRow+1)))except Exception as e:print(e)

和预想的其实不一样。因为虽然是大模型,但是他未必会给我返回我想要的实体类型。这一点就比较头大,需要自己处理。

比如 比较理想的情况下是这样,识别结果的类型都是我想要的。

label: {'组织机构': ['老挝家具协会'], '人名': ['育亭·维沙蓬'], '职位': ['会长']}
识别结果 {'地名': '老挝', '公司': '老挝家具协会', '人名': '育亭·维沙蓬', '职位': '会长'}

但是很多时候是下面这样:

label: {"人名":["吴湖帆", "吴待秋", "吴子深", "冯超然"]}
识别结果: {"name":["吴湖帆", "吴待秋", "吴子深", "冯超然"]}

或者是其他我不需要的类型名称,中英文也很随意。即使我在prompt里写上,“用中文”,效果仍然不能十分满意。

或许这也是微调的意义?

实体识别的具体内容可以参考这位网友的博客,计算机博士微调BaiChuan13B来做命名实体识别_baichuan max_new_tokens-CSDN博客  

或者github (九零后,真年轻啊):torchkeras/examples/BaiChuan13B_NER——transformers.ipynb at master · lyhue1991/torchkeras · GitHub

但是到了后面,我的运行出错了。

求救

艰难的调试过后,运行到这个地方还是可以的,看起来得到了结果。实际上崩溃才刚开始

接下来的错误。。。我没搞明白

反正就这么错了,提示没有这个文件。关键是,我并没有搞明白从哪里生成这个文件

然后我还想要复现一下,重新训练一次,然后又错了。在Jupyter里,就重新执行了刚才的代码,结果刚刚执行了一次的代码,报错了

也就是说,数据、模型似乎转移了位置。

然后我回到上面,开始重新生成数据集、重新加载模型,发现仍然是这个错误。包括最开始的测试代码也已经不能运行了,都提示这个错误。

只能关闭重新开始,才能行。

然后往下我就不会了。。。。。

【不是每个博文都会有好结果的,看到这里,你是不是也感觉坑 ^_^】

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

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

相关文章

【讲解下Gitea】

🌈个人主页:程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

使用plasmo开发浏览器插件在网页指定位置添加自定义UI

使用plasmo开发浏览器插件的时候,有时候需要在指定网站的指定页面添加自定义的UI内容,如果通过content.js内容脚本去通过js创建的话,可就太麻烦了,要写不少的js代码。不过plasmo已经帮我们实现了这个功能,就是Content …

【CAD建模号】学习笔记(一)

一、概述 CAD建模号是一款用于在智能手机及平板电脑等移动设备上进行三维建模的app,最初发布于2019年。 二、基本操作 手指直接点按,拖动来粗略创建和操作对象;双指缩放视图,双指移动视图。手指长按屏幕,出现红色小…

css-盒子阴影

1.box-shadow: 10px 20px 10px 10px blue; 参数对应顺序:上下,左右 ,模糊程度,颜色 ,阴影大小 2.box-shadow: 10px 20px 10px 20px blue,-10px -20px 10px 50px red; 负号就是相反方向 支持多个阴影 在后面加逗号 3…

汽车充电桩主板购买渠道汇总

随着充电桩设施的迅速普及,充电桩作为其中关键组件之一,市场需求不断增长。在互联网科技飞速发展的背景下,充电桩主板的采购渠道更加多元化,下面我们来探讨消费者、充电桩运营商和生产商可以从何处购买充电桩主板。 直接联系制造商…

10-代码随想35搜索插入位置

35.搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5…

AWS迁移教程,Redis迁移到Elasticache

当企业不断出海拓展业务,面临的挑战之一就是如何高效迁移应用程序及数据库至云端。为解决这一问题,AWS云专门提供多种简单且高效的迁移方式,进行帮助企业实现应用程序的平稳迁移,从而降低迁移过程中的风险和成本。下面九河云将为大…

小程序地理位置接口wx.getLocation申请审核解决方法(详细说明及避坑)

本人申请了三次才最终通过,简单说一下坑 前几天想实现定位功能改了一天代码手机上也不行。 晚上登上小程序管理界面才发现那个功能要申请。。。那就申请呗 1. 申请路径 小程序页面-开发-开发管理-接口设置-地理位置 之后就提交申请,两次都不过就不理解了…

67、yolov8目标检测和旋转目标检测算法batchsize=1/6部署Atlas 200I DK A2开发板上

基本思想:需求部署yolov8目标检测和旋转目标检测算法部署atlas 200dk 开发板上 一、转换模型 链接: https://pan.baidu.com/s/1hJPX2QvybI4AGgeJKO6QgQ?pwd=q2s5 提取码: q2s5 from ultralytics import YOLO# Load a model model = YOLO("yolov8s.yaml") # buil…

云智慧:拥抱AI算法驱动的智能运维服务创新引擎

随着信息化、数字化、智能化的加码,企业对人工智能、大数据等技术应用呈现出明显兴趣,海笔研究对国内中型规模企业调研表明,在2020年,54.1%的企业选择购买人工智能类应用,41.9%的企业选择购买大数据及BI类应用&#xf…

标准库不带操作系统移植FreeModbus到STM32

添加FreeModbus代码 首先准备一个空白的标准库项目。 下载FreeModbus源码。 将源码中的modbus文件夹复制到项目路径下,并把demo->BARE->port文件夹的内容也添加进来。 新建一个文件port.c备用。然后打开项目,将上述文件添加至项目,…

php phar反序列化POC编写笔记

具体结构不细究,主要方便写poc代码,比如有如下文件内容: 文件内容如下: file base64.b64decode("PD9waHAgX19IQUxUX0NPTVBJTEVSKCk7ID8DQp9AQAAAQAAABEAAAABAAAAAABHAQAATzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZG…

Kepler无代码:让应用开发0门槛,普通人秒变“大神”!

在数字化时代,软件开发应用已成为我们生活和工作中不可或缺的一部分。 然而,对于大多数人来说,编写代码、开发应用似乎是一个遥不可及的技能。幸运的是,随着无代码平台的兴起,普通人也能轻松成为应用开发者&#xff0…

Node.js-------初识Node.js与内置模块

能够知道什么是 Node.js能够知道 Node.js 可以做什么能够说出 Node.js 中的 JavaScript 的组成部分能够使用 fs 模块读写操作文件能够使用 path 模块处理路径能够使用 http 模块写一个基本的 web 服务器 一.初识Node.js 1.浏览器中的 JavaScript 的组成部分 2.Node.js 简介 …

nut-ui中的menu 菜单组件的二次封装

这个菜单组件 一般可以直接用到项目里 如果复用性不强的话 直接使用 但是有一个问题 如果很多地方都需要用到这个组件 我们可以把这个组件二次封装一下 <template><div class"cinema-search-filter-component"><nut-menu><template #icon>&…

【PyTorch][chapter 25][李宏毅深度学习][ CycleGAN]【实战】

前言&#xff1a; 论文中直接提供了GitHub 的代码下载地址 GitHub - junyanz/pytorch-CycleGAN-and-pix2pix: Image-to-Image Translation in PyTorch 这里面简单的解读一下. 目录&#xff1a; 1. 模型参数配置 2&#xff1a; 生成器模型 3&#xff1a; 鉴别器模型 4&#…

基于PHP的校园招聘管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的校园招聘管理系统 一 介绍 此校园招聘管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为个人用户&#xff0c;企业和管理员三种。 技术栈&#xff1a;phpmysqlbootstrapphpstudyvscode 二…

蓝桥杯刷题第六天(昨天忘记发了)

今天想从不一样的角度来解题&#xff1a;从时间紧张暴力求解到思路阔达直接通过所有案例 暴力方法&#xff1a; 思路第一眼看到这个问题我就想到了第一个思路就是先用两个数组一个存石子数一个存颜色状态&#xff0c;每次遍历一遍看看有没有相邻石子颜色一样且为和最小的。 im…

深度学习理论基础(五)卷积神经网络CNN

目录 一、卷积神经网络基础1.卷积层&#xff08;1&#xff09;内部参数&#xff1a;卷积核权重&#xff08;2&#xff09;内部参数&#xff1a;偏置&#xff08;3&#xff09;外部参数&#xff1a;填充padding&#xff08;默认不填充&#xff09;&#xff08;3&#xff09;外部…

分月饼 java题解

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in); int m sc.nextInt(); // 读取员工数量mint n sc.nextInt(); // 读取月饼数量n// 调用distribute方法并打印返回的分配方法总数//先默认每人分一个…