彭博率先在金融业推出自己的50亿参数大语言模型BloombergGPT。虽然在arxiv.org上也发布了相关的论文(BloombergGPT: A Large Language Model for Finance, v2, Tue 9 May 2023),可是对于绝大部分机构而言,要搞出一个类似的模型,可能...门儿都没有。首先,要有人去研究看懂那76页的论文;其次,得有数据...数据...数据;第三,就算有数据的话,得懂得怎么去处理它们、准备好它们、利用它们;第四,得有懂的人;第五,得有算力...算力...算力...;第六,...(省略无穷多原因)。
BloombergGPT在金融领域的能力令人瞩目,但其计算需求非常高。它大约需要130万个GPU小时进行训练,根据AWS云计算的2.3美元费率计算,这意味着每次训练的成本高达约300万美元。
希望寄托于薅开源LLM的羊毛 - 坐等“AI民主化”
就“大语言模型的研发”这件事情来说,绝大部分的人注定只能充当吃瓜群众。虽然在ChatGPT发布后,某些大厂迫不及待跟进,然后一系列各行各业机构迫不及待的搞一波与之“战略合作”的风骚操作,最后除了在朋友圈看到一轮喜滋滋、好像已经成了的分享之外,然后就没有然后了。最后大家还是继续吃瓜而已。
先不说那些“巨头”、“大厂”的技术如何,在金融领域中利用大语言模型存在着复杂的障碍,肉眼可见的就包括以下这些。
准确性问题。大语言模型一天不能根除“幻觉”(Hallucination)所导致的“一本正经的胡说八道”,跟钱相关、锱铢必较、厌恶风险、追求极致“稳妥”的金融服务一天无法使用它。
隐私的合规性问题。能找“巨头”要个API,然后就把公司、客户的数据传过去,坐等“AI魔术师”呈现智能戏法吗?连Google都公开警示自己的员工不要随意在工作中把数据丢给聊天机器人 - 包括自家的Bard,在一家必须严守内部防火墙、隔离自家内部部门、防范潜在利益输送和内幕交易、时时避疑需自证清白的投资银行来说,不要说连接GPT-4 API,员工在公司范围内工作过程中使用ChatBot都存疑。看看不断增长的禁止员工使用ChatBots的公司名单:苹果、亚马逊、JP Morgan、德银、三星、花旗银行...
处理数据的挑战。包括:获得数据、确认训练所用到的数据的来源合规、处理多样化的数据格式和类型、管理数据质量的不一致性,以及对最新信息的基本要求。特别是,历史或专业金融数据的提取,因为存在各种数据媒介,如网络平台、API、PDF文档和图像,而变得复杂。
在专有领域中,像BloombergGPT这样的模型利用其积累数十年的专有数据训练了针对金融领域的语言模型。然而,其数据集和训练协议的可访问性低、透明度低(如果有的话),其他机构几乎不可能通过它的论文和一些有限的信息去参考模仿,实现替代方案。
一条日渐清晰的道路,就是借力开源领域的“AI民主化”潮流,在开源世界前赴后继、层出不穷的推陈出新出ChatGPT“平替”的当下,寄希望于有那么几个靠谱可用的模型冒出来,为我所用。BloombergGPT的同类或者“平替”,可以简称为FinLLMs(Financial Large Language Models)。总体思路,就是在一些已经预训练的大型基础模型(Large Foundation Model - LFM)上采用一系列的技巧、手段进行微调和专业化(specialization)。
不过,免费的午餐这种东西应该是越来越难吃到了。即便拿到一个开源的LLM,能不能“调教”它、要花多少钱,又是另一个故事。此外,要鼓励有人养羊去给大家薅羊毛,光靠牧羊人“爱心发电”是不现实的,作为跟钱打交道的金融机构,也许应该考虑赞助一下这些牧羊人或者弄个行业牧羊人社区,加速AI民主化,才有羊毛可薅吧。
数据的质与量才是王道
可保障数据安全的私有化本地自部署的大语言模型,只能寄希望于借力预训练(Pre-trained)的基础大模型进行针对性的、专业化的调优与订制。
企业能自主掌握、必须自主掌握的,是数据。等大语言模型被“民主化”后,大家PK的就是数据质量了。
证券金融数据,有丰富来源,例如金融新闻、公司报表、公司公股东公告、重大事件通告和社交媒体关于某企业的讨论等等,有其独特的特征。
金融新闻类型数据,包含了关于世界经济、特定行业和个别公司的重要信息。这一数据来源通常具有以下特点:
• 及时性:金融新闻报道及时更新,常常需捕捉金融世界最新的动态
• 动态性:金融新闻中的信息是动态变化的,随着经济状况和市场情绪的演变而迅速变化。
• 影响力:金融新闻对金融市场具有重大影响,影响交易员的决策,并有可能引发剧烈的市场波动。
公司报告和公告类型数据,是公司按合规要求向监管机构提交的正式文件,提供了有关公司财务状况和战略方向的信息。这些文件具有以下特点:
• 精细度:这些文件提供了有关公司财务状况的精细信息,包括资产、负债、收入和盈利能力。
• 可靠性:公司报告包含了由监管机构审核的可靠和经过验证的数据。
• 定期性:公司报告是定期提交的,通常是每季度或每年一次,提供公司财务状况的定期快照。
• 影响力:公司公告往往对市场产生重大影响,影响股价和投资者情绪。
与金融、经济、投资相关的社交媒体讨论沉淀数据,则可以反映公众对特定股票、行业或整个市场的情绪。这些讨论往往表现出以下特点:
• 变化多样性:社交媒体讨论在语气、内容和质量上变化多样,使其成为信息丰富但复杂的来源。
• 实时舆情:这些平台通常能够捕捉到实时的市场情绪,可以检测到公众意见的趋势和转变。
• 波动性:社交媒体上表达的情绪可能非常波动,对新闻事件或市场波动快速做出反应。
市场趋势分析数据,例如通过财经门户网站、微博和面向金融的博客和论坛,可以观察到市场趋势,这些趋势信息,提供了对市场走势和投资策略的洞见。它们往往具有较高的参考价值:
• 分析师观点:这些网站平台提供了来自经验丰富的金融分析师和专家的市场预测和投资建议。
• 市场情绪:这些网站平台上的公共讨论可以反映对特定证券、行业或整个市场的集体情绪,为了解当前市场情绪提供了有价值的见解。
• 广泛覆盖:趋势数据涵盖了各种证券和市场细分,提供了全面的市场覆盖。
每种数据来源都提供了对金融世界的某些方面的洞见。通过整合这些多样化的数据类型,大语言模型可以形成对金融市场的全面理解,支持趋利避害的决策,形成投资交易策略,执行精准及时的有效风控。
喂养大模型先准备好食材
金融数据,从技术角度看,来源众多、载体性质各异、编码格式多样;从合规安全角度看,版权要求、隐私敏感度、可见范围则进一步把数据处理复杂性推往更高维。不管把大语言模型的理念说的如何天花乱坠,一个实实在在的问题必须解决,那就是:很不“炫酷”、很繁琐、甚至很闷很无趣的数据处理的工程问题。这好比做一桌“米其林三星盛宴”之前,考究的大厨在凌晨四点去菜市场挑最新鲜的鱼最高品质的肉,冬菇花胶先泡水发5-6个小时,猪手用盐、香料和柠檬汁腌制并存放于冰箱2-3天...
处理金融数据面临的三个主要挑战:
• 保障时效性:金融数据具有高度时间敏感的特点。一旦发布市场影响力大的新闻或更新,投资者需要在短暂的时间窗口内最大化其投资收益
• 适应高动态性:金融领域不断演变,每天都会涌现大量的新闻、社交媒体帖子和其他与市场相关的信息。频繁重新训练模型以适应这些变化在实际操作上是不切实际且成本高昂的。
• 海淘有用信息:金融数据通常呈现出较低的信噪比,即有用信息往往被大量无关或噪音数据所淹没。从这一海量信息中提取有价值的见解需要使用精密的技术手段。
必须解决这些问题,才能确保金融大语言模型的质量和有效性。
数据处理的工程问题,是实实在在的。如果一家机构在移动互联网时代就数据治理、大数据技术方面有所积累,则依然可以继续沿用和就“喂养”大语言模型的需要作出针对性的改良、优化。如果这些能力本来就不曾真实存在过,那么谈论AI也就不过是凑个热闹、赶个热点罢了。
以证券市场为例,其运作是高度实时的,对新闻和情绪高度敏感。证券价格可以迅速对新信息做出反应,而处理信息的延迟可能导致错失机会或增加风险。因此,在金融数据中,实时处理是至关重要的。实时处理流程的主要挑战是高效地管理和处理持续涌入的数据。建立一个实时数据的摄取系统或者说“管道”,往往需要实实在在处理这些工作:
数据清洗:实时数据可能存在噪音和不一致性。因此,实时数据清洗涉及移除不相关的数据、处理缺失值、文本标准化(如转换为小写)和错误修正。
分词:在实时应用中,需要即时进行分词处理。这涉及将文本流分解为更小的单元或标记。
停用词去除和词干提取/词形还原:对于实时处理,可以使用预定义的停用词列表从标记流中过滤出常见词汇。同样,可以应用词干提取和词形还原技术,将单词还原为其词根形式。
特征提取和情感分析:特征提取涉及将原始数据转换为机器学习模型可以理解的输入。在实时系统中,这通常需要是一个快速高效的过程。情感分析也可以在清洗后的数据上进行,将文本分类为积极、消极或中性。
提示工程:创建有效的提示,以指导语言模型生成符合预期输出的过程。
警报/决策:一旦输入了提示,需要将结果传达或采取行动。这可能涉及根据特定条件触发警报、通知实时决策过程或将输出输入到另一个系统中。
持续学习:在实时系统中,模型应该适应数据的变化。可以实现连续学习系统,定期使用新数据对模型进行重新训练,或使用在线学习算法,可以在每个新数据点上更新模型。
监控:实时系统需要持续监控以确保其正常运行。流程中的任何延迟或问题都可能立即产生影响,因此重要的是建立健壮的监控和警报机制。
大炼金融模型需要框架
假设数据预处理有了,模型也通过“民主化”获得。接下来,就是如何把东西“攒”在一起了。
一个架构性的框架,是时候出现。这个框架,可以参考最近在GitHub发布的开源金融模型框架FinGPT在其论文提出的思路,分四个层次:
数据源层:该层确保全面的市场覆盖,通过实时信息捕获来处理金融数据的时间敏感性。它协调从各种在线来源获取广泛的金融数据。通过整合来自新闻网站、社交媒体平台、财务报表、市场趋势等数据,该层确保了全面的市场覆盖。其目标是捕捉市场的每一个细微差别,以应对金融数据固有的时间敏感性。
数据工程层:为实时的自然语言处理数据处理做准备,该层解决了金融数据中高时间敏感性和低信噪比的固有挑战。该层专注于实时处理NLP数据,以解决金融数据中固有的高时间敏感性和低信噪比挑战,过滤噪音并抽取最重要的信息。
语言模型层:关注一系列的微调方法,该层应对金融数据高度动态的特性,确保模型的相关性和准确性。作为核心层,它包括各种精细调整的方法,优先考虑轻量级适应,以保持模型的更新和相关性。通过保持更新的模型,应对金融数据的高度动态性,确保其响应与当前的金融环境保持一致。
应用层:也就是面向具体实际金融任务的智能化实现,是金融服务智能化的最终呈现,覆盖各种业务、场景,形成产出,是LLM在金融领域引起变革的具体形态
这个框架其实是“理所当然”的 - 相信大家在具体实践中都会殊途同归走到类似的道路,只是FinGPT较为系统的提了出来。
在平替半成品的基础上敲敲打打
在开源LLM上作进一步的专业化训练,炼出一个某金融机构自己能用的模型,还需要利用各种微调手段,形成自己能掌握的高效、经济、省时的训练方法。FinGPT就声称其每次训练成本能低于300美元。
当前微调的优化方法也在不断出现,例如LoRA(Low-Rank Adapters)、QLoRA(Quantized LLMs with Low-Rank Adapters)等等“低秩适应”+“压缩”的手段。简单的说就是围绕如何在较低内存和算力的环境下,极大程度的降低训练参数量,从而能对大语言模型进行局部的、微型的“敲敲打打”,进一步把它铸造成自己想要的样子。
对证券业而言,FinGPT还提出一个比较有趣但证券从业者也都能自然想到的精调方法,就是通过股票价格的强化学习微调(RLSP - Reinforcement Learning on Stock Prices)。它用股票价格作为对强化学习的反馈机制,替代ChatGPT中的人类反馈的部分。股票价格提供了一个可量化、客观的度量标准,反映了市场对新闻和事件的情绪反应。这使得股票价格成为训练模型的强大、实时的反馈机制。
强化学习(RL)允许模型通过与环境的互动和接收反馈来学习。在RLSP的情况下,环境是股票市场,反馈则是股票价格变动。通过将新闻舆情与相关股票的后续表现联系起来,RLSP提供了一种有效的微调的方式。这种方法使得大语言模型能够不断改进对金融文本的理解和解释,提高其预测市场对各种金融事件的反应能力。
简单的说,RLSP的微调过程,实际上是通过直接利用全市场的智慧来训练模型使其更加有效。
后厨准备好了,上菜
高品质的食材(数据)清洗干净,杂质去除,锅炉(大语言模型)也敲敲打打的好歹“炼”了出来,后厨流水线就绪,是时候“旧瓶装新酒”,(以更少的厨师)重做几道号称“智能”的“传统名菜”:
• 机器人投顾(Robo-Advisor):这个被炒作滥用了多少年但实际上并没有“机器人”的东西(跟“鱼香肉丝”没有鱼一样),终于可以名符其实了。
• 量化交易:比以前更自动、精准的产生一些交易信号,应该不是难事
• 组合优化:利用众多经济指标和投资者配置信息构建最佳投资组合,可以做的更加自动
• 舆情、ESG分析:更加自动化更加精准的评估市场舆情、通过分析公共报告和新闻文章评估公司的ESG评分,等等
• 风险管理/欺诈检测/信用评分:老生常谈的几道菜,但也许可以更加自动、更加有效、更加精准的做?
• 投行/破产预测/并购预测:同上
• 投资者教育:这是显而易见的,ChatGPT已经是非常好的导师,只不过金融机构不能让自己的客户去找ChatGPT,必须推出自己的“导师”
此外,信披、合规监管等领域,当前手段还是传统的“人肉智能”甚至“刀耕火种”,没有被滥用了十年的“智能”概念炒作所沾染,可能是最值得利用人工智能降本增效的应用场景。
最后,套用ChatGPT们一贯四平八稳、政治正确、“辩证”耍滑、总是加个“正能量”尾巴的回答风格来总结一下最为合适:强监管的金融行业有其独特的复杂性、敏感性,将大型语言模型与金融行业进行深度融合,有非常重大的意义,带来广阔的创新空间,但是机会与风险并存。金融机构需要改造自己的IT,任命与时俱进的管理者,吸纳真正的人才,建立自己的人工智能框架与方法,形成有效的“后厨”流水线,才能重新发明自己,在下一轮竞争中存活。