Finance Llama 8B
基于Llama 3.1 8B微调的金融领域专用模型,擅长金融推理、问答和多轮对话
下载量 155
发布时间 : 5/26/2025
模型简介
该模型是在50万条金融指令数据上微调的版本,专为金融任务、推理和多轮对话设计,覆盖问答、情感分析、实体识别等多种金融场景
模型特点
金融专业化
专为金融推理、问答、实体识别、情感分析等场景优化
多轮对话能力
擅长进行强调上下文理解和推理的深度对话
多样化数据训练
整合了多个高质量金融数据集,包含超过50万条训练条目
模型能力
金融问答
投资组合分析
金融实体识别
市场情绪分析
多轮金融对话
金融推理
使用案例
投资咨询
投资组合分散策略
为个人投资者提供波动市场中的投资组合分散建议
生成可操作的投资策略建议
金融信息提取
金融实体识别
从金融文本中识别公司、股票代码等关键实体
准确提取金融相关命名实体
🚀 金融大语言模型Finance-Llama-8B
Finance-Llama-8B是基于unsloth/Meta-Llama-3.1-8B
在Josephgflowers/Finance-Instruct-500k
数据集上微调得到的模型。它专为金融任务、推理和多轮对话而设计,能够为金融领域的各类应用提供强大的支持。
✨ 主要特性
- 广泛覆盖:在超过500,000条数据上进行训练,涵盖金融问答、推理、情感分析、主题分类、多语言命名实体识别和对话式人工智能等多个领域。
- 多轮对话:能够进行丰富的对话,强调上下文理解和推理能力。
- 多样数据源:包含来自Cinder、Sujet-Finance-Instruct-177k、Phinance Dataset、BAAI/IndustryInstruction_Finance-Economics、Josephgflowers/Financial-NER-NLP等众多高质量数据集的条目。
- 金融专业化:针对金融推理、问答、实体识别、情感分析等任务进行了优化。
📚 详细文档
数据集详情
Finance-Instruct-500k数据集
- 概述:Finance-Instruct-500k是一个全面且精心策划的数据集,旨在训练用于金融任务、推理和多轮对话的高级语言模型。该数据集整合了来自多个高质量金融数据集的数据,提供了超过500,000条条目,为金融相关的指令调整和微调提供了无与伦比的深度和多样性。
- 数据集关键特性:
- 广泛覆盖:超过500,000条条目,涵盖金融问答、推理、情感分析、主题分类、多语言命名实体识别和对话式人工智能等领域。
- 多轮对话:丰富的对话,强调上下文理解和推理能力。
- 多样数据源:包含来自Cinder、Sujet-Finance-Instruct-177k、Phinance Dataset、BAAI/IndustryInstruction_Finance-Economics、Josephgflowers/Financial-NER-NLP等众多高质量数据集的条目。
📦 安装指南
该模型可以使用transformers
库的管道进行文本生成。首先,请确保你已经安装了transformers
和torch
库:
pip install transformers torch
💻 使用示例
基础用法
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
import torch
# 替代无bitsandbytes的内存高效加载选项
model_id = "tarun7r/Finance-Llama-8B"
print("正在使用内存优化加载模型...")
# 选项1:使用FP16(半精度) - 减少约50%的内存
try:
print("尝试使用FP16加载...")
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16, # 半精度
device_map="auto", # 自动设备放置
low_cpu_mem_usage=True, # 加载期间高效使用CPU内存
trust_remote_code=True
)
print("✔ 模型已使用FP16加载")
except Exception as e:
print(f"FP16加载失败: {e}")
# 选项2:CPU卸载 - 部分层在GPU上,部分在CPU上
try:
print("尝试使用CPU卸载...")
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="balanced", # 在GPU和CPU之间平衡
low_cpu_mem_usage=True,
trust_remote_code=True
)
print("✔ 模型已使用CPU卸载加载")
except Exception as e:
print(f"CPU卸载加载失败: {e}")
# 选项3:作为备用方案,完全在CPU上加载
print("正在CPU上加载...")
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="cpu",
low_cpu_mem_usage=True,
trust_remote_code=True
)
print("✔ 模型已在CPU上加载")
# 加载分词器
tokenizer = AutoTokenizer.from_pretrained(model_id)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
# 创建管道
generator = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer
)
print("✔ 管道已成功创建!")
# 现有的提示代码
finance_prompt_template = """以下是一个描述任务的指令,以及提供进一步上下文的输入。请编写一个适当的响应来完成请求。
### 指令:
{}
### 输入:
{}
### 响应:
"""
# 更新系统提示以提供更详细的聊天机器人角色描述
messages = [
{"role": "system", "content": "你是一个知识渊博的金融聊天机器人。你的目的是根据用户的具体需求和上下文,提供准确、有洞察力和可操作的金融建议。"},
{"role": "user", "content": "个人投资者在动荡市场中可以使用哪些策略来有效分散投资组合?"},
]
# 更新生成器调用以使用消息
prompt = "\n".join([f"{msg['role'].capitalize()}: {msg['content']}" for msg in messages])
print("\n--- 正在生成响应 ---")
try:
outputs = generator(
prompt,
#max_new_tokens=250, # 为提高内存效率而减少
do_sample=True,
temperature=0.7,
top_p=0.9,
pad_token_id=tokenizer.eos_token_id,
# 内存高效生成设置
num_beams=1, # 不使用束搜索以节省内存
early_stopping=True,
use_cache=True
)
# 提取响应
generated_text = outputs[0]['generated_text']
response_start = generated_text.rfind("### 响应:")
if response_start != -1:
response = generated_text[response_start + len("### 响应:"):].strip()
print("\n--- 响应 ---")
print(response)
else:
print(generated_text)
# 生成后清理GPU内存
if torch.cuda.is_available():
torch.cuda.empty_cache()
except Exception as e:
print(f"生成错误: {e}")
📄 许可证
本项目采用Apache-2.0许可证。
引用
@misc{tarun7r/Finance-Llama-8B,
author = {tarun7r},
title = {tarun7r/Finance-Llama-8B: A Llama 3.1 8B Model Fine-tuned on Josephgflowers/Finance-Instruct-500k},
year = {2025},
publisher = {Hugging Face},
journal = {Hugging Face Model Hub},
howpublished = {\url{https://huggingface.co/tarun7r/Finance-Llama-8B}}
}
信息表格
属性 | 详情 |
---|---|
模型类型 | 基于unsloth/Meta-Llama-3.1-8B 微调的金融语言模型 |
训练数据 | Josephgflowers/Finance-Instruct-500k 数据集 |
库名称 | transformers |
任务类型 | 文本生成 |
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98