
本項目開源了基於LLaMA 系基模型經過中文金融知識指令精調/指令微調(Instruct-tuning) 的微調模型。通過中文金融公開問答數據+爬取的金融問答數據構建指令數據集,並在此基礎上對LLaMA 系模型進行了指令微調,提高了LLaMA 在金融領域的問答效果。
基於已有數據和繼續爬取的中文金融數據,將繼續利用GPT3.5/4.0 API 構建高質量的數據集,另在中文知識圖譜-金融、CFLEB 金融數據集等數據上進一步擴充高質量指令數據集。
陸續會發布新的中文場景的金融模型(next-pretrain、multi-task SFT、RLHF),歡迎大家屆時使用體驗,敬請期待。
[2023/05/10] 發布了基於Chinese-LLaMA 和中文金融數據進行指令微調的模型。
[2023/05/07] 發布了基於Meta-LLaMA 和中文金融數據進行指令微調的模型。
首先安裝依賴包,python環境建議3.9+
pip install -r requirements.txt
其次安裝lfs 方便本地下載LLaMa 大模型
git lfs install
# 下载7B模型到本地
bash ./base_models/load.sh
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 |
目前在./instruction_data/infer.json中提供了一些測試用例,也可替換成其它的數據集但注意格式保持一致
運行infer腳本
# 单模型推理
bash ./scripts/infer.sh
# 多模型对比
bash ./scripts/comparison_test.sh
此前版本採用了公開和爬取的中文金融領域問答數據,涉及到保險、理財、股票、基金、貸款、信用卡、社保等。
指令數據示例如下:
问题:办理商业汇票应遵守哪些原则和规定?
回答: 办理商业汇票应遵守下列原则和规定:1.使用商业汇票的单位,必须是在银行开立帐户的法人;2.商业汇票在同城和异地均可使用;3.签发商业汇票必须以合法的商品交易为基础;4.经承兑的商业汇票,可向银行贴现;5.商业汇票一律记名,允许背书转让;6.商业汇票的付款期限由交易双方商定,最长不得超过6个月;7.商业汇票经承兑后,承兑人即付款人负有到期无条件交付票款的责任;8.商业汇票由银行印制和发售。
針對此前數據仍存在不准確和類型單一等不完善的地方;目前我們利用GPT3.5/4.0 接口進一步優化數據、並擴充中文金融知識庫,設置多種Prompt形式、multi-task形式拓展豐富指令數據集,實現金融領域多業務場景覆蓋。
最新模型情況:(即將發布,敬請期待~)

若想用自己的數據集微調LLaMA,請按照./instruction_data/fin_data.json的格式構建自己的數據集
運行finetune 腳本
bash ./scripts/finetune.sh
目前訓練設備為一張A100-SXM-80GB顯卡,訓練總輪次10輪。 batch_size=64的情況下顯存佔用在40G左右、batch_size=96的情況下顯存佔用在65G左右。預計3090/4090顯卡(24GB顯存)以上顯卡可以較好支持,根據顯存大小來調整batch_size。
實驗指標記錄與超參設置可以參考wandb的鏈接:
https://api.wandb.ai/links/1812316597/hkyiriw5
| 測試輸入 | 原始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元,那麼投資者可以根據這些數據計算收益:1000×10=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的交易。這意味著如果您今天買入了一隻股票或基金,那麼您需要等到明天才能賣出它。 在其他一些國家和地區,股票和基金的交易方式可能會有所不同。因此,如果您想進行股票或基金的投資,建議您了解當地的交易規則和市場情況。 |
本項目由中科院成都計算機應用研究所(中科信息)人工智能部Yangmu Yu、Wenhuan Hong完成。
本項目參考了以下開源項目,在此對相關項目和研究開發人員表示感謝。
本項目相關資源僅供學術研究之用,嚴禁用於商業用途。使用涉及第三方代碼的部分時,請嚴格遵循相應的開源協議。模型生成的內容受模型計算、隨機性和量化精度損失等因素影響,本項目無法對其準確性作出保證。對於模型輸出的任何內容,不作為任何投資建議,本項目不承擔任何法律責任,亦不對因使用相關資源和輸出結果而可能產生的任何損失承擔責任。
如果你使用了本項目的數據或者代碼,請聲明引用
@misc{Cornucopia-LLaMA-Fin-Chinese,
title={Cornucopia-LLaMA-Fin-Chinese},
author={YangMu Yu},
year={2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/jerry1993-tech/Cornucopia-LLaMA-Fin-Chinese}},
}
如果您想參與本項目,提交貢獻數據/代碼,請參考如何貢獻。
歡迎點贊?、關注、分享,一鍵三連;如有問題,請在GitHub Issue中提交,或進群進一步探討:
