BigQuant使用文档

在BigQuant AIStudio里玩转 ChatGLM

由jliang创建,最终由jliang 被浏览 599 用户

AIStudio

AIStudio 是BigQuant的AI模型和量化策略开发环境,可以使用独立的GPU研究环境,也可以使用FAI分布式算力集群。

ChatGLM

ChatGLM是清华开源的模型,在中文上有不错的表现。其中ChatGLM-6B是一个开源的、支持中英双语问答的对话语言模型,并针对中文进行了优化。该模型基于GLM架构,具有62亿参数。

为了学习方便,我们这里使用其中的int4版本 chatglm-6b-int4,这个版本占用资源很少,速度快。

使用AIStudio GPU

BigQuant提供GPU算力,精确到分钟计费(4.6宽币/分钟,大概是 0.046 RMB/分钟)。这里我们切换到 G0,一个GPU就够了。现在注册平台会送宽币。

{w:100}{w:100}

安装依赖包

打开AIStudio命令行终端(快捷键 ctrl + `)

pip3 install protobuf==3.20.0 transformers==4.27.1 icetk cpm_kernels

{w:100}{w:100}

加载模型

BigQuant平台已经提供了 ChatGLM-6B和ChatGLM-6B-INT4模型,可以直接 DataSource mount 使用。

{w:100}{w:100}

这里我们加载 ChatGLM-6B-INT4,使用GPU

import dai
mnt = dai.DataSource("chatglm_6b_int4").mount()

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained(mnt.path, trust_remote_code=True)
model = AutoModel.from_pretrained(mnt.path, trust_remote_code=True).half().cuda()
model = model.eval()

与ChatGLM对话

问中国的大学,能基本理解语义

response, history = model.chat(tokenizer, f"中国最好一所大学是?", history=history)
print(response)

{w:100}{w:100}ChatGLM生成量化策略代码

table_fields = ",".join(dai.DataSource("cn_stock_bar1d").metadata["schema"].keys())
table_desc = f"cn_stock_bar1d({table_fields})"

response, history = model.chat(tokenizer, f"你是一个专业的量化研究员,使用BigQuant人工智能量化投资平台开发因子和策略。BigQuant平台提供股票行情表 {table_desc},计算每天价格最高的股票,使用SQL实现", history=[])
print(response)

这里测试了一个非常简单的情况,查询价格最高的股票,在prompt里提供了BigQuant平台数据表结构,效果不太好。

{w:100}{w:100}

和ChatGPT 4还是有比较大的差距

{w:100}{w:100}代码

https://bigquant.com/experimentshare/9faa81bc9fea4105821e8d416555a681

\

标签

量化策略AIStudio
{link}