告别卡顿!Chatterbox技术让ChatGPT流畅对话,不稳定网络下减少71%的等待时间

引言:LLM Chatbots在不稳定网络下的挑战

经常使用gpt的朋友们会发现,当网络连接不稳定时,chatgpt生成的信息(token)在传输过程中可能会丢失或延迟,导致屏幕输出的响应文本中断,需要等待或者刷新才能继续显示文本,影响整体的交互流畅性。

为了解决这一问题,本文提出了一种新的传输层方案------Chatterbox,旨在改善LLM Chatbots在不稳定网络下的token流式传输体验。即,本文是一篇计算机网络方向的文章,从网络协议的角度针对token的流式传输特点提出了一个新的网络协议,加强LLM响应的流畅程度,具有较好的工程价值。

论文标题:Chatterbox: Robust Transport for LLM Token Streaming under Unstable Network

研究机构:University of Chicago

论文链接arxiv.org/pdf/2401.12...

LLM Chatbot的实时交互问题

1. LLM Chatbot的实时交互

Large Language Models (LLMs) 如ChatGPT自2023年问世以来,其在各种Chatbot服务中的应用变得越来越流行。这些服务利用LLM模型接收用户提示,并实时返回响应,以提供信息回答用户问题或提供情感支持。在LLM Chatbot的token流式传输管道中,token(部分或完整的词)是在云数据中心逐个生成的 ,然后通过广域网发送到客户端设备。为了提供实时流式体验,如上图所示,最新生成的token会在生成后立即发送给用户,而不是等到所有token生成完毕。这种实时交互的流畅性对于用户体验至关重要,任何传输过程中的间歇性停顿都可能严重影响交互的顺畅性,并损害用户体验。

2. 不稳定网络下现有系统的性能退化

在不稳定的网络环境下,如果某些数据包丢失或在网络中严重延迟 ,客户端将需要等待发送方重新传输这些数据包。这可能导致token流式传输停顿,因为所有后续的token都需要等待前面的token到达接收器后才能被渲染。当用户在信号弱或干扰频繁的地方使用LLM Chatbot服务时,他们可能会遭受间歇性的网络连接问题。

通过对ChatGPT Streaming API等应用的性能测试,作者发现不稳定的网络会大幅增加流式传输的停顿。现有的应用借鉴了TCP,依赖于重传机制来处理数据包丢失,导致了长时间的停顿。此外,即使后续包含新token的数据包可能早于重传数据包到达,但由于丢失的token阻塞了新token的渲染,没有更多新token能够被渲染。

Chatterbox方案的提出

1. Chatterbox的设计初衷

为了解决不稳定网络下的token流式传输问题 ,本文提出了一种新颖的传输层方案,名为Chatterbox。Chatterbox的设计初衷是提供一种平滑的token流式体验,并在各种网络条件下将Chatbot转变为更加流利的交流者。

Chatterbox的关键思想是让客户端可以独立渲染每个接收到的数据包 。原本每个数据包中只有生成的token,Chatterbox的每个数据包不仅包含新生成的token,还包含足够的渲染新token的信息。因此,即使在不稳定的网络环境下,每个到达的新token都能够被客户端渲染,而不会被之前丢失的token阻塞。

2. Chatterbox如何减少交互中的停顿

Chatterbox通过在包含新生成token的数据包中加入未确认的token(即已发送但尚未被接收器确认的token),来减少客户端token流式传输中的停顿。这种机制大大减少了因重传而引起的停顿,尤其是在网络往返时间(RTT)较长的不稳定网络中。

这里大家可能对于其工作原理还没能理解,接下来将进行详细说明。

Chatterbox的工作原理

1. Chatterbox的包处理机制详解

Chatterbox核心思想是在发送新生成的token时,同时将尚未被接收端确认(ACK)的token(称为"unacked tokens")包含在下一个出站数据包中。这样,每个接收到的数据包都包含了足够的信息来独立渲染其中的新令牌,从而避免了因丢失数据包而导致的渲染阻塞问题。

Chatterbox的数据包准备机制使得,对于每个到达的新token,客户端都能够将这个新token之前的token加载出来,并且不会被任何先前丢失的token阻塞。这种机制在网络往返时间(RTT)可能较长的不稳定网络中,可以大大减少因重传引起的停顿。

2. Chatterbox的发送和接收流程

如上图所示,在发送流程中,Chatterbox的server维护一个未确认token缓冲区,其中包含所有已发送但尚未收到ACK的token。每当生成新token并准备发送时,server会访问此缓冲区,并将尽可能多的未确认token与新token一起放入数据包中,以准备新令牌的渲染。client端的逻辑相对简单。接收到数据包后,它会提取数据包内的token,如果所有先前的token都已到达,则渲染这些token,并向发送端发送ACK。

实验设计与模拟网络条件

1. 实验设置和参数

实验通过模拟不同的网络条件来测试Chatterbox的性能。实验使用了一个两状态的马尔可夫模型来模拟不稳定的网络条件,如无线连接。在这个模型中,有两种状态:丢包状态和良好状态。每种状态持续100毫秒,丢包状态下有90%的概率丢包,而良好状态下不会丢包。通过调整状态转换概率p和q,可以模拟不同类型的网络条件。默认情况下,p=0.9,q=0.5,平均每1000毫秒良好连接后会有200毫秒的不良连接,这导致了与实际观察到的类似的15%的丢包率。

2. 实验中使用的评价指标

实验主要报告了两个指标:冗余率和停顿比率

冗余率是指除了原始token之外发送的额外数据量(包括重传)。

停顿比率是指客户端在停顿时间超过200毫秒时等待token渲染的时间量。理想的方法应该优先减少停顿比率,其次才是尽量降低冗余率。 通过这些评价指标,研究人员能够量化Chatterbox在减少客户端感知到的停顿和发送的总数据量方面的性能。

Chatterbox的性能评估

1. 展示Chatterbox在不同RTT下的性能


Chatterbox在不同的往返时间(RTT)下的性能表现是通过模拟不稳定网络条件下的测试来评估的。在设置了400毫秒和100毫秒的RTT条件下,Chatterbox与传统TCP方法相比,能够显著减少客户端的等待时间。具体来说,当RTT为400毫秒时,Chatterbox能够将停顿比率(stall ratio)降低71.0%,与数据包复制方法相比,能够降低31.6%。而在100毫秒RTT的情况下,Chatterbox将停顿比率降低了60.0%,与数据包复制方法相比,降低了31.3%。这些结果表明,Chatterbox在处理不稳定网络条件下的传输问题时,能够有效减少因重传引起的停顿。

2. 分析Chatterbox在不同丢包模式下的表现


在不同的丢包模式下,Chatterbox的表现也得到了评估。通过调整Markov模型中的参数p和q,模拟了不同的网络丢包情况。在p设置为0.5,q设置为0.5的情况下,网络更频繁地进入丢包状态。尽管所有方法的停顿比率都有所增加,但Chatterbox相比于基线方法显示出更显著的改进。当p设置为0.9,q设置为0.8时,每个丢包周期持续的时间比默认情况更长。尽管Chatterbox的性能仍然优于其他基线方法,但其改进幅度有所减少,这可能是由于长时间的RTT和丢包时间导致不是所有未确认的数据包都能包含在新的数据包中,从而影响了Chatterbox的性能。

真实网络环境下的Chatterbox测试

1. 描述真实网络测试平台的搭建

为了评估Chatterbox在真实网络环境下的性能,研究团队构建了一个测试平台。他们使用了一台Macbook 2023 M2笔记本电脑,通过连接到iPhone 11的热点,使用Mint LTE服务在北美进行测试。测试过程中,手机放置在办公室内,测试人员在办公室外部(30米范围内)行走。同时,在笔记本电脑上运行自动化的bash脚本,重复启动30个GPT API会话,并记录了数据包到达情况和令牌到达时间。

2. 讨论Chatterbox在真实网络环境下的性能

在真实网络环境下的测试中,Chatterbox展现出了比基线方法更好的性能。在400毫秒RTT的条件下,Chatterbox能够比TCP方法减少27.4%的停顿比率,与数据包复制方法相比,减少了18.0%。此外,它还减少了40.4%的延迟token(生成后超过400毫秒的延迟)比例,提供了更实时的响应,而无需对计算进行修改。这些实验结果证明了Chatterbox在真实世界的数据包丢失模式下的实用性。

总结

Chatterbox是一个针对LLM Chatbot的传输层方案,它通过在每个发出的数据包中包含新生成的token以及当前未被确认的token,从而确保每个数据包在接收时都包含足够的信息进行独立渲染,避免了因丢包导致的渲染停顿。模拟不同网络条件下的实验表明,Chatterbox相比于常见的ChatGPT Streaming API使用的TCP方法,能够将停顿比率降低71.0%,并且相比于简单的数据包复制方案,降低了31.6%,同时发送的总数据量更少。

相关推荐
做科研的周师兄13 分钟前
【机器学习入门】1.2 初识机器学习:从数据到智能的认知之旅
大数据·数据库·人工智能·python·机器学习·数据分析·机器人
JosieBook42 分钟前
【人工智能】人工智能在企业中的应用
人工智能
技术与健康1 小时前
LLM实践系列:利用LLM重构数据科学流程04 - 智能特征工程
数据库·人工智能·重构
无风听海2 小时前
行向量和列向量在神经网络应用中的选择
人工智能·深度学习·神经网络·行向量·列向量
一点一木2 小时前
主流 AI 提示词优化工具推荐(2025 全面对比指南)
人工智能·openai·ai编程
全栈小52 小时前
【AI编程】如何快速通过AI IDE集成开发工具来生成一个简易留言板系统
ide·人工智能·ai编程
能力越小责任越小YA3 小时前
服务器(Linux)新账户搭建Pytorch深度学习环境
人工智能·pytorch·深度学习·环境搭建
小五1273 小时前
机器学习-线性回归
人工智能·机器学习
攻城狮7号3 小时前
昆仑万维开源 Matrix-3D大模型,正在开启“造物主”模式
人工智能·matrix-3d·昆仑万维开源大模型
量子位3 小时前
售价2万5!英伟达推出机器人“最强大脑”:AI算力飙升750%配128GB大内存,宇树已经用上了
llm·ai编程