🚀 FinanceConnect
FinanceConnect是一款先进的开源聊天模型,专为金融和经济领域的交流而设计。它基于强大的Llama2 - 13B架构构建,并在FinTalk - 19k和Alpaca数据集的组合上进行了微调,是金融专业人士、研究人员和爱好者的宝贵资源。
🚀 快速开始
FinanceConnect专为金融和经济对话量身打造,借助其强大功能,用户可以轻松获取金融领域的见解和信息。若要体验FinanceConnect模型的能力,可通过精心设计的Python接口实现。以下是使用步骤和代码片段:
前提条件
1. 确保所需包已安装
import torch
from typing import Any, Dict
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
BitsAndBytesConfig,
HfArgumentParser,
TrainingArguments,
PreTrainedTokenizerFast,
pipeline,
logging,
)
import time
2. 初始化模型和分词器
model_name = "ceadar-ie/FinanceConnect-13B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, load_in_8bit = True, device_map = "auto", trust_remote_code=True)
3. 创建文本生成函数
def generate_text(input_text):
tokenizer.padding_side = "right"
num_words_input = len(input_text.split())
start_time = time.time()
pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer, max_length = 1000)
prompt = f"<s>[INST] {input_text} [/INST]"
result = pipe(prompt)
generated_text = result[0]['generated_text'].replace(prompt, "").strip()
end_time = time.time()
time_taken = end_time - start_time
num_words_generated = len(generated_text.split())
print("Generated Output:")
print(generated_text)
print('=' * 60 )
print("\nNumber of Words in Input Text:", num_words_input)
print("Number of Words in Generated Output:", num_words_generated)
print("Time Taken to Generate Output: {:.2f} seconds".format(time_taken))
✨ 主要特性
- 领域专业化:FinanceConnect模型专注于金融对话,为金融研究人员和爱好者提供专业资源。
- 模型API可访问性:提供简单的Python集成方式,用于生成金融内容见解。
- 性能优化:在CPU和GPU平台上均能高效运行。
- 数据表示:结合全面的金融数据集,使内容生成达到专业水平。
📦 模型详情
属性 |
详情 |
架构 |
Llama2 - 13B |
训练数据集 |
[FinTalk - 19k](https://huggingface.co/datasets/ceadar - ie/FinTalk - 19k),[Alpaca](https://huggingface.co/datasets/tatsu - lab/alpaca) |
开发者 |
CeADAR Connect Group |
模型类型 |
大语言模型 |
语言 |
英语 |
微调基础模型 |
Llama2 - 13B |
📚 数据集使用情况
该模型借助FinTalk - 19k和Alpaca数据集的优势,这两个数据集专注于金融知识,为模型提供了与金融行业相关的见解和信息。如需深入了解数据集,请访问:[FinTalk - 19k](https://huggingface.co/datasets/ceadar - ie/FinTalk - 19k),[Alpaca](https://huggingface.co/datasets/tatsu - lab/alpaca)。
🔧 基准测试
基准测试 |
BloombergGPT 50B |
FinanceConnect 13B |
MMLU |
39.8 |
52.08 |
FPB |
51.1 |
57.2 |
成本 |
267万美元 |
27美元 |
基准测试 |
FinanceConnect 13B |
MMLU |
52.08 |
ARC |
55.12 |
HellaSwag |
77.73 |
TruthfulQA |
38.80 |
Winogrande |
71.82 |
GSM8K |
1.6 |
💻 使用示例
基础用法
以下是使用FinanceConnect模型的基础示例,通过上述创建的generate_text
函数生成文本:
input_text = "List in detail ten key factors influencing the current state of the global economy."
generate_text(input_text)
高级用法
在实际应用中,用户可以根据不同的金融场景,调整输入文本以获取更精准的信息。例如:
input_text = "Explain the concept of quantitative easing and its impact on financial markets."
generate_text(input_text)
🔧 训练细节
训练超参数
- per_device_train_batch_size = 10
- gradient_accumulation_steps = 4
- optim = "paged_adamw_32bit"
- learning_rate = 2e - 4
- max_grad_norm = 0.3
- warmup_ratio = 0.03
📄 许可证
FinanceConnect模型由CeADAR Connect Group开发,结合了Llama2、FinTalk - 8k和Alpaca的许可框架。根据Meta的条款,用户被授予非排他性、全球性、不可转让、免版税的有限许可,用于使用和修改Llama材料,包括Llama2模型及其相关文档。在重新分发时,必须包含提供的协议和特定的归属声明。此外,根据FinTalk数据集(Apache 2.0)和Alpaca数据集(cc - by - nc - 4.0)的许可,该模型在这三个许可的框架下进行分发。
⚠️ 模型局限性
适用范围外的使用
FinanceConnect专门为金融讨论和知识交流而设计,不适用于以下情况:
- 一般对话。
- 金融领域之外的特定任务。
- 与物理设备或应用程序的直接交互。
偏差、风险和局限性
- 数据集偏差:FinTalk - 19k和Alpaca数据集可能存在固有偏差,影响模型的输出。
- 过度依赖:该模型是辅助工具,不能替代人类专业知识,决策时应谨慎考虑。
- 内容理解:模型缺乏人类般的理解能力,无法判断知识的真实性。
- 语言限制:模型主要使用英语,使用其他语言时性能可能下降。
- 知识截止:模型可能不了解其最后一次训练更新之后的事件或趋势。
📖 引用
@misc {ceadar_2023,
author = { {CeADAR} },
title = { FinanceConnect-13B (Revision 5f7841d) },
year = 2023,
url = { https://huggingface.co/ceadar-ie/FinanceConnect-13B },
doi = { 10.57967/hf/1405 },
publisher = { Hugging Face }
}
📞 联系信息
如果您对FinanceConnect有任何进一步的疑问或反馈,请发送邮件至ahtsham.zafar@ucd.ie。