草庐IT

Chinese-Alpaca-Plus

全部标签

[NLP]使用Alpaca-Lora基于llama模型进行微调教程

StanfordAlpaca是在LLaMA整个模型上微调,即对预训练模型中的所有参数都进行微调(fullfine-tuning)。但该方法对于硬件成本要求仍然偏高且训练低效。[NLP]理解大型语言模型高效微调(PEFT)因此,Alpaca-Lora则是利用Lora技术,在冻结原模型LLaMA参数的情况下,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数。由于这些新增参数数量较少,这样不仅微调的成本显著下降,还能获得和全模型微调(fullfine-tuning)类似的效果。LoRA的原理其实并不复杂,它的核心思想是在原始预训练语言模型旁边增加一个旁路,做一个降维再升维的操作,来模拟所谓

Mybatis-Plus的SQL注入器实现批量插入/修改,效率比较

Sql效率mysql支持一条sql语句插入多条数据。但是Mybatis-Plus中默认提供的saveBatch、updateBatchById方法并不能算是真正的批量语句,而是遍历实体集合执行INSERT_ONE、UPDATE_BY_ID语句。mybatis-plus虽然做了分批请求、一次提交的处理。但如果jdbc不启用配置rewriteBatchedStatements,那么批量提交的sql到了mysql就还是一条一条执行,mysql并不会将这些sql重写为insert多值插入,相比一条sql批量插入,性能上会差点。rewriteBatchedStatements文档https://dev.

【前端】Element-UI和Element-Plus的区别

文章目录对移动端支持区别框架区别开发中使用的区别el-tableel-dialogel-buttonel-date-pickerel-iconechartsIcon图标库变化了组件的插槽slot使用变化了新增组件来源对移动端支持区别Element-UI对应Element2:基本不支持手机版Element-Plus对应Element3:组件布局考虑了手机版展示框架区别Element-ui适用于Vue2框架Element-plus适用于Vue3框架开发中使用的区别el-tabletemplateslot-scope="scope">/template>//elementtemplate#defau

LLM - Chinese-Llama-2-7b 初体验

目录一.引言二.模型下载三.快速测试四.训练数据五.总结一.引言自打LLama-2发布后就一直在等大佬们发布LLama-2的适配中文版,也是这几天蹲到了一版由LinkSoul发布的 Chinese-Llama-2-7b,其共发布了一个常规版本和一个4-bit的量化版本,今天我们主要体验下Llama-2的中文逻辑顺便看下其训练样本的样式,后续有机会把训练和微调跑起来。二.模型下载HuggingFace: https://huggingface.co/LinkSoul/Chinese-Llama-2-7b4bit量化版本: https://huggingface.co/LinkSoul/Chine

Flutter蓝牙框架-flutter_blue_plus使用及源码解析

Flutter蓝牙框架-flutter_blue_plus使用及源码解析前言低功耗蓝牙(BLE)原理使用及源码解析前言前段时间有朋友拜托我研究下flutter利用蓝牙与硬件交互的功能,我查阅了很多资料,目前市面上比较流行的第三方库有两个,一个是flutter_blue_plus,一个是flutter_reactive_ble,前一个比较轻量级,能满足大部分场景,后一个比较复杂,支持多个蓝牙设备同时连接。那么这一次我们先来研究下flutter_blue_plus,剩下的flutter_reactive_ble下次有机会再来看。低功耗蓝牙(BLE)原理博主好几年前还做Android原生开发时就接触

Mybatis Plus 公共字段自动填充功能

目录 1、问题引入2、基本功能实现3、功能完善3.1ThreadLocal3.1.1介绍3.1.2常用方法3.2思路分析3.3代码实现1、问题引入在我们的项目开发中,我们会发现有一些数据库表字段是每个表都有的,例如:创建时间,创建人,更新时间,更新人。而我们目前的针对这些字段我们的目前的处理方式就是增加或者修改的时候一个一个的去赋值。如果都按照上面的方法进行操作的话,那我们就需要在每个业务方法中进行操作,这样会不会显得我们的代码过于冗余、繁琐。这个时候我们就可以使用MybatisPlus提供的公共字段自动填充功能。2、基本功能实现MybatisPlus公共字段自动填充,也就是在插入或者更新的时

Mybatis Plus 公共字段自动填充功能

目录 1、问题引入2、基本功能实现3、功能完善3.1ThreadLocal3.1.1介绍3.1.2常用方法3.2思路分析3.3代码实现1、问题引入在我们的项目开发中,我们会发现有一些数据库表字段是每个表都有的,例如:创建时间,创建人,更新时间,更新人。而我们目前的针对这些字段我们的目前的处理方式就是增加或者修改的时候一个一个的去赋值。如果都按照上面的方法进行操作的话,那我们就需要在每个业务方法中进行操作,这样会不会显得我们的代码过于冗余、繁琐。这个时候我们就可以使用MybatisPlus提供的公共字段自动填充功能。2、基本功能实现MybatisPlus公共字段自动填充,也就是在插入或者更新的时

mybatis-plus 批量插入示例

正常我们使用mybatis-plus插入的时候,首先想到的是  saveBatch 方法,不过看了下打印出来的sql和底层代码,才发现它并不是真正的批量插入。IService中的代码为defaultbooleansaveBatch(CollectionentityList){returnthis.saveBatch(entityList,1000);}  实现层  ServiceImpl 中的代码为publicbooleansaveBatch(CollectionentityList,intbatchSize){StringsqlStatement=this.getSqlStatement(S

element-plus的form表单验证Prop和Rules设置约定

在使用表单验证过程中遇到深层对象(即嵌套对象)和数组或动态创建数组对象时验证不再起作用或者出现错误。官网的说明“Form 组件提供了表单验证的功能,只需为 rules 属性传入约定的验证规则,并将 form-Item 的 prop 属性设置为需要验证的特殊键值即可。更多高级用法可参考 async-validator。”轻描淡写,看了asyncValidator也没有搞清楚element-plus的rules到底该如何定义。说明:Form组件包含rules属性,FormItem组件包含prop和rules属性。Form的rules如不设置则不会触发任何验证,FormItem如不设置则当前item

SpringBoot - MyBatis-Plus - 如何在查询时排除某些字段?

写在前面查询时部分字段不想给前端显示,怎么办?(1)使用SELECT方法,排除字段"password"@OverridepublicPageUserDO>list(Stringname,Integerstatus,IntegerpageNo,Integerlimit,LongadminId)throwsServiceException{QueryWrapperUserDO>wrapper=newQueryWrapper>();if(!ObjectUtils.isEmpty(name)){wrapper.like("name",name);}if(status!=null){wrapper.eq