因此,估变得越来越复杂,但我们的“训练”却主要是提示词工程,这更像是一门艺术而非科学。 还在死磕的事:对大语言模型()进行微调,以使我们的流程更加数据驱动。
其实是肯定会出问题
所以修的要快) . 容量与延迟 容量和成员感知到的延迟始终是我们最关心的问题。以下是一些维度: 质量 延迟:像“思维链”( , )这样的技 司法部数据库 术非常有效地提高了质量并减少了幻觉现象。但它们需要成员从未预想过的,因此增加了成员感知到的延迟。 吞吐量 延迟:在运行大模型时,通常情况是“首个响应时间”(, )和“间响应时间”(, )会随着使用率的增加而增加。在的情况下,有时延迟甚至会呈现线性增长。如果你愿意牺牲这两个方面的度量,获得每秒数(, )的两倍或三倍增加是很容易的,但我们最初必须将它们限制得很紧。(注:否则用户会觉得慢) 成本:集群并不容易获得且成本高昂。在初期,我们甚至不得不为产品测试设定时间表,因为测试会消耗太多并阻止开发人员工作。
端到端流式传输
个完整的答案可能需要几分钟才能完成,因此我们让所有请求进行流式传输以减少感知到的延迟。更重要的是,我们实际上在流程内部实现了端到端的流式传输。例如,大语言模型()的响应 的使用和组件的配置等讲出 会逐步解析出应调用的,并在参数准备好后立即发起调用,而无需等待完整的响应。最终合成的响应也会通过我们的实时消息传递基础设施进行流式传输,并对信任负责任的分类等内容进行增量处理,直至到达客户端。(注:就是通过流式提升可感知的响应速度,非流式会导致你等半天突然所有结果出来了) 异步非阻塞管道:由于调用可能需要很长时间来处理,我们通过构建一个完全异步非阻塞的管道来优化服务吞吐量,该管道不会因阻塞的线程而浪费资源。
这些因素之间有
时会产生有趣的相互作用。举个例子,我们最 by 列表 初只限制了首个响应时间(, ),因为这对于我们初期产品延迟有直接影响。然而,随着我们解决幻觉问题,并且思维链( , )在我们的提示词中变得突出,如果我们忽略了间响应时间(, )会对我们造成更大的伤害,因为任何“推理”都会增加产品的延迟(例如,对于一个个的推理步骤,即使是毫秒的增加也意味着额外的秒延迟)。这会导致我们公共平台上的某些任务突然发出超时警告,我们不得不迅速增加算力以缓解这一问题。 还在死磕的事: 将更简单的任务转移到内部进行,并使用微调后的自己的模型进行处理。