依据中文金融常识的 LLaMA 系微调模型的智能问答体系:LLaMA大模型训练微调推理等具体教学

依据 LLaMA 系基模型经过中文金融常识指令精调/指令微调(Instruct-tuning) 的微调模型。经过中文金融揭露问答数据+爬取的金融问答数据构建指令数据集,并在此基础上对 LLaMA 系模型进行了指令微调,提高了 LLaMA 在金融范畴的问答作用。

依据已有数据和持续爬取的中文金融数据,将持续运用 GPT3.5/4.0 API 构建高质量的数据集,另在中文常识图谱-金融、CFLEB 金融数据集等数据上进一步扩大高质量指令数据集。

  • 依据 Chinese-LLaMA 和中文金融数据进行指令微调的模型。

  • 依据 Meta-LLaMA 和中文金融数据进行指令微调的模型。

1. 环境装置

首先装置依赖包,python环境主张3.9+


pip install -r requirements.txt

其次装置 lfs 方便本地下载 LLaMa 大模型


git lfs install
# 下载7B模型到本地
bash ./base_models/load.sh

2.模型下载

LoRA 权重能够经过 Huggingface 下载,结构如下:

    Fin-Alpaca-LoRA-7B-Meta/
       - adapter_config.json   # LoRA权重配置文件
       - adapter_model.bin     # LoRA权重文件
LoRA模型下载 分类 重构模型 训练数据 训练序列长度 版别
Fin-Alpaca-LoRA-7B-Meta 中文金融问答微调模型 decapoda-research/llama-7b-hf 12M 指令数据 512 V1.0
Fin-Alpaca-LoRA-7B-Linly 中文金融问答微调模型 Linly-AI/Chinese-LLaMA-7B 14M 指令数据 512 V1.1

3.Inference:单模型推理-多模型比照

现在在./instruction_data/infer.json中供给了一些测试用例,也可替换成其它的数据集但留意格局保持一致

运转infer脚本


#单模型推理
bash ./scripts/infer.sh
#多模型比照
bash ./scripts/comparison_test.sh

4.数据集构建

此前版别采用了揭露和爬取的中文金融范畴问答数据,涉及到稳妥、理财、股票、基金、贷款、信用卡、社保等。

指令数据示例如下:


问题:办理商业汇票应恪守哪些准则和规则?
回答: 办理商业汇票应恪守下列准则和规则:1.运用商业汇票的单位,有必要是在银行开立帐户的法人;2.商业汇票在同城和异地均可运用;3.签发商业汇票有必要以合法的商品生意为基础;4.经承兑的商业汇票,可向银行贴现;5.商业汇票一律记名,答应背书转让;6.商业汇票的付款期限由生意双方商定,最长不得超越6个月;7.商业汇票经承兑后,承兑人即付款人负有到期无条件交付票款的职责;8.商业汇票由银行印制和发售。

针对此前数据仍存在不准确和类型单一等不完善的地方;现在咱们运用GPT3.5/4.0 接口进一步优化数据、并扩大中文金融常识库,设置多种Prompt方法、multi-task方法拓宽丰富指令数据集,完成金融范畴多事务场景覆盖。

最新模型状况:(行将发布,敬请期待~)

基于中文金融知识的 LLaMA 系微调模型的智能问答系统:LLaMA大模型训练微调推理等详细教学

5.微调Finetune

若想用自己的数据集微调 LLaMA,请依照./instruction_data/fin_data.json的格局构建自己的数据集

运转 finetune 脚本


bash ./scripts/finetune.sh

6.训练细节

6.1 核算资源需求

现在训练设备为一张A100-SXM-80GB显卡,训练总次序10轮。batch_size=64的状况下显存占用在40G左右、batch_size=96的状况下显存占用在65G左右。预计3090/4090显卡(24GB显存)以上显卡能够较好支撑,依据显存巨细来调整batch_size。

6.2试验记载

基于中文金融知识的 LLaMA 系微调模型的智能问答系统:LLaMA大模型训练微调推理等详细教学

基于中文金融知识的 LLaMA 系微调模型的智能问答系统:LLaMA大模型训练微调推理等详细教学

6.3 模型作用比照

测试输入 原始Llama输出 Cornucopia(Fin-Alpaca-LoRA-7B-Meta)输出 Cornucopia(Fin-Alpaca-LoRA-7B-Linly)输出 文心一言输出 讯飞星火认知输出
老年人理财好还是存定时好? 老年人的理财办法应该适合于本身状况。假如他/她有足够的时刻和出资能力,则主张他/她运用现在的时刻与出资机会进行理财活动。由于老年人能够取得余额、稳妥、房地产等多种收入方法,所以他/她能够挑选不同类型的理财项目,包括揭露商场、非揭露商场、基金、信任计划等。当然,老年人也应该留意其实需求的日子财务安全。 若出资者危险承受能力比较高,那么能够挑选理财产品进行出资,若出资者危险承受能力比较低,那么能够挑选定时存款进行出资。现在理财产品和定时存款都是保本型产品,不会亏本本金,而且收益由出资标的决议,所以理财产品和定时存款相比较愈加安稳。需求留意的是理财产品和定时存款没有同样的活期利率,而且理财产品每日核算收益,所以理财产品收益越高,出资者取得收益的概率也越高。9QDII基金是指我国商场上开放式外资基金,这类基金首要出资于:A股、港股、美股、英股、德股、日股、法股、台股、香港股、新加坡股等;QFII基金是指我国生意所开放式外资基金,这类基金首要出资于:A股、港股、美股、英股、德股、日股、法股、台股、香港股、新加坡股等。 关于危险承受能力比较低的老年人来说,挑选定时存款比较好,由于其危险性比较低,收益也比较安稳,而关于危险承受能力比较高的老年人来说,挑选理财产品比较好,由于其危险性比较大,收益也比较高。需求留意的是现在理财产品不是保本型产品,有亏本本金的可能,而且依据出资标的分为不同的危险等级,若出资者危险承受能力比较低,那么能够挑选危险等级R2及以下的理财产品,若出资者危险承受能力比较高,那么能够挑选危险等级R3及以上的理财产品。当前理财产品包括:债券型基金、股票型基金、混合型基金、指数基金和联接基金等,出资者能够依据本身实际状况挑选合适的产品进行出资。 老年人存定时比较好。老年人没工作收入,资产总额也是在逐步下降,而且白叟简单患病,而医疗费开销较大。假如老年人出资理财产品,伴随着其产品净值的改变,是有可能会呈现亏本现象的。而定时存款,其利率一般是固定的,期满返本还息,相对而言,安全系数高,盈利更耐久。 作为AI言语模型,我没有个人观点和主张。可是,老年人理财和存定时都有其优缺点。老年人理财的优点是能够更好地规划自己的财务状况,包括退休金、医疗稳妥、子女教育等方面的开销。此外,老年人能够经过出资股票、基金等金融产品来添加财富。存定时的优点是危险较小,收益相对安稳。老年人能够挑选不同期限的定时存款,依据自己的需求和危险承受能力来挑选。综合来看,老年人应该依据自己的实际状况和需求来挑选适合自己的理财方法。假如老年人有足够的资金和危险承受能力,能够考虑出资股票、基金等金融产品来添加财富。假如老年人更重视安稳性和安全性,能够挑选存定时来保障自己的财务状况。
股票和基金能当天随买随卖吗? Yes, stocks and funds can be bought and sold on the same day. 不能,股票和基金实施T+1生意,生意日当天买入,依照买入当天收盘时的净值核算,第二个生意日承认比例,比例承认后核算收益,所以在生意日买入就要比及第二个生意日才干取得收益。比如出资者周一买入了某只股票,周二商场上发布的净值为10元,那么出资者能够依据这些数据核算收益:100010=10000;10000/10=1000。若出资者持有此股票超越30个工作日,那么能够直接转换成现金,也便是将该股票全部或者部分提早支取。需求留意的是,现在没有任何法律法规约束出资者在生意日买入基金、股票,因而出资者在生意日买入基金、股票都能进行当天开放型生意。一起,出资者在生意日买入股票之后,其股票会主动转换为现金,而且出资者在生意日买入股票之后,其股票会主动转换为涨跌幅约束(20%左右),从而影响出资者的手续费和收益。 不能,股票生意时刻:周一至周五上午9:30-11:30,下午13:00-15:00,法定节假日不生意。基金生意时刻:周一至周五上午9:30-11:30,下午13:00-15:00,法定节假日不生意。股票实施T+1生意,依照商场实时价格进行成交,遵循价格优先、时刻优先的准则,沪深两市股票涨跌幅约束为10%,创业板和科创板股票涨跌幅约束为20%,北交所涨跌幅约束为30%,ST以及*ST涨跌幅约束为5%(创业板和科创板涨跌幅还没有这个约束),港股涨跌幅约束为20%,新三板涨跌幅约束为10%(创业板和科创板涨跌幅还没有这个约束),关于出资者来说,股票生意比较灵敏,能够依据本身状况进行生意,而且股票生意手续费比较低,基金生意手续费也比较低,一起股票波动比较大,危险也比较大。 不能够,股票基金实施T+1生意,生意日当天买入(生意时刻),依照买入当天收盘时的净值核算,第二个生意日承认比例,比例承认后才干将基金卖出,一般生意日当天买入,第三个生意日才干卖出,第三个生意日随时能够卖出。 股票和基金的生意方法因不同的证券商场而异。在一些证券商场上,股票和基金是能够当天随买随卖的,也便是所谓的“T+0”生意。可是,在另一些证券商场上,股票和基金是不能当天随买随卖的,需求等待必定的生意时刻后才干进行生意。在我国A股商场中,股票和基金是不能当天随买随卖的,需求进行T+1或T+2的生意。这意味着假如您今天买入了一只股票或基金,那么您需求比及明天才干卖出它。 在其他一些国家和地区,股票和基金的生意方法可能会有所不同。因而,假如您想进行股票或基金的出资,主张您了解当地的生意规则和商场状况。

7.提示词模板

此目录包括用于 LoRA 微调 LLaMa 模型的提示的模板样式。

  • Format

模板是经过一个JSON文件描绘的,该文件包括以下键:

  • prompt_input: The template to use when input is not None. Uses {instruction} and {input} placeholders.
  • prompt_no_input: The template to use when input is None. Uses {instruction} placeholders.
  • description: A short description of the template, with possible use cases.
  • response_split: The text to use as separator when cutting real response from the model output.

No {response} placeholder was used, since the response is always the last element of the template and is just to be concatenated to the rest.

7.1模板案例

The default template, used unless otherwise specified, is alpaca.json

{
    "description": "Template used by Alpaca-LoRA.",
    "prompt_input": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Input:\n{input}\n\n### Response:\n",
    "prompt_no_input": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Response:\n",
    "response_split": "### Response:"    
}

7.2 现有模板

7.2.1 alpaca

到现在为止,用于通用LoRA微调的默许模板。

7.2.2 alpaca_legacy

原始羊驼运用的旧模板,响应字段后没有“\n”。保存以供参阅和试验。

7.2.3 alpaca_short

一个修剪过的羊驼模板,它好像也体现得很好,并保存了一些 tokens。运用默许模板创立的模型好像也能够经过短时刻查询。

8.提示构建模块

  • prompter.py

Prompter class, a template manager.

from utils.prompter import Prompter
  • 本项目参阅了以下开源项目,

    • Facebook LLaMA: github.com/facebookres…
    • Stanford Alpaca: github.com/tatsu-lab/s…
    • alpaca-lora by @tloen: github.com/tloen/alpac…
    • Huatuo-Llama-Med-Chinese: github.com/SCIR-HI/Hat…
    • 文心一言 yiyan.baidu.com/welcome 本项意图logo由文心一言主动生成
    • 讯飞星火认知 xinghuo.xfyun.cn/desk

项目码源见文末

项目链接跳转

更多优质内容请关注公号:汀丶人工智能;会供给一些相关的资源和优质文章,免费获取阅览。

基于中文金融知识的 LLaMA 系微调模型的智能问答系统:LLaMA大模型训练微调推理等详细教学