针对 ChatGPT(手机版)的优化版Transformer网络
Roni Sadeh, VP Technologies, CTO office, CEVA
Siri 和 OK Google 是最早实现语音控制的应用程序,这着实为我们带来了很多乐趣;但很快我们便意识到,必须仔细说出请求才能获得实用回答。就现在所见,ChatGPT 理解程度高,使用起来更容易,但直到最近,其功能还仅限于通过基于云的应用程序进行文本互动。现如今,ChatGPT 是大势所趋,手机几乎人人必备,促使着针对 ChatGPT(手机版)的transformer网络尽快推出,让每个拥有手机的人都能感受到大语言模型的威力。
在此方面面临的一个明显挑战是,我们所知的 ChatGPT 依赖于数万亿个参数。而这种规模的transformer网络只能在云端运行。有人建议采用混合模式,即先由手机或其他应用程序负责完成部分简单工作,再连接到云端进行更为繁重的推理。然而,普通手机用户可能无法接受混合解决方案与生俱来的长时间延迟和隐私风险问题。因此,更好的方法是,直接在手机上处理大部分或全部transformer网络工作,只在需要时将偶尔出现的匿名搜索请求转至云端处理。
缩减网络大小
如何在手持设备上安装庞大的transformer网络?Google DeepMind 在检索transformer方面取得了重大突破。其 RETRO transformer网络运行时的大小只有 LLM transformer的百分之几,因为前者的模型参数中不包含具体数据。只保留了基本的语言对话技能,但在理解水平上仍可与 GPT3 相媲美。如此将网络大小缩减到了约 80 亿个参数。
CEVA 在预处理时进一步缩减此网络大小,将对感兴趣领域提示的准确度几乎没有影响的参数归零,进行再训练。仔细利用这一功能可以大大加快transformer网络分析的速度。
准备边缘模型的第二步是压缩,CEVA 对此非常熟悉,并在支持检索transformer方面做得更好。我们充分利用 NeuPro-M 架构进行再训练,大力推进此步骤,促使广泛的混合定点精度和低精度选项降到 4 位,未来甚至还能降到 2 位。
通过使用这些技术,我们可以将现有检索transformer压缩至最低 1/20(较现在而言),尽管其相较 LLM 而言已经压缩了很多。将这种压缩剪枝应用于 RETRO 模型缩减后,可以产生巨大缩减,将万亿参数模型转换为十亿参数模型,进而有望实现 ChatGPT(移动版)。
NeuPro-M AI 核心
当然,仅仅适合的transformer网络是不够的。它还需要运行得足够快,才能满足用户对响应时间的期望。而这一点可以通过专为 LLM 应用程序优化的 NeuPro-M NPU IP 多引擎架构实现。在此流程中,首先要做到的是由真正的稀疏引擎来进行管理,且这一步举足轻重。稀疏引擎管理可跳过权重或数据为零的冗余操作,提高吞吐量,这是需要注意的一点。而在预处理时缩减之后,会出现大量归零参数,尽管这些参数分布不均匀。对于这种非结构化稀疏引擎,每个 NeuPro-M 处理器内核中的专用稀疏引擎可发挥 4 倍性能优势(与传统稀疏引擎相比),并相应地降低功耗。
鉴于transformer架构可以分解为可并行实现的离散正交运算,下一优化应运而生。此时,可以利用 NeuPro-M 多核架构支持多达 8 个内核。transformer中 query、key 和 value 三个向量的计算会在引擎中分批进行,在共享公共二级缓存的多个内核并行处理。并行处理不仅有利于 attention 步骤,还有利于 softmax 步骤,以及计算 attention 函数之后的归一化函数。在传统的人工智能系统中,softmax 可能是遏制性能提升的重大瓶颈。在 NeuPro-M 中,attention 和 softmax 可以并行实现,因此 softmax 对于吞吐时间的增加几乎可以忽略不计。NeuPro-M 在transformer计算中实现大规模并行处理如下图所示。
transformer计算中的可扩展并行化(来源:CEVA)
NeuPro-M 架构包括特殊支持,最大限度地提高芯片吞吐量,线程之间几乎没有停滞,进一步简化这些流中的高度并行性以及线程之间的数据共享。
为 ChatGPT(移动版)构建语音界面
完成最难的部分后,在前端添加语音识别和在后端添加文本转语音,便可以通过额外相对简单的transformer网络实现。将我们的 ClearVox 语音处理前端软件连接到语音识别transformer,以输入提示,并接受引导,确定主transformer应执行哪一组精炼提示。必要时,可从互联网上检索查询相关文档。最后,使用文本转语音transformer对下载的回复或文件进行语音处理。现在来说,完全在手机上运行,且具有完全基于语音的 ChatGPT 功能界面便是 ChatGPT(移动版)的不同之处。
更广泛的应用
NeuPro-M 平台并不局限于 ChatGPT(移动版)这样的 GPT 类应用。它可以同样应用于任何生成式方法。例如,您可以使用稳定的扩散transformer生成图像、视频或任何其他人工生成或修改的体验。NeuPro-M 解决方案在transformer网络建模方面非常通用。
联系 CEVA,了解有关适用于 AI 处理器的 NeuPro-M NPU IP 的更多信息,以便在您的设备上实现移动聊天功能。