【论文浅尝】Porting Large Language Models to Mobile Devices for Question Answering

本文主要是介绍【论文浅尝】Porting Large Language Models to Mobile Devices for Question Answering,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Introduction

移动设备上的大型语言模型(LLM)增强了自然语言处理,并支持更直观的交互。这些模型支持高级虚拟助理、语言翻译、文本摘要或文本中关键术语的提取(命名实体提取)等应用。

LLMs的一个重要用例也是问答,它可以为大量的用户查询提供准确的和上下文相关的答案。由于典型智能手机的处理能力有限,当前移动设备上的LLM查询在云中处理,LLM输出被发送回设备。这是ChatGPT应用程序和大多数其他LLM支持的聊天应用程序的标准工作流程。

但是有些情况是不可取的,例如,对于在连接有限或互联网流量受到严格监控和监视的地区工作的记者而言(例如在专制政权中)。在这种情况下,处理必须在设备上完成。

因此,在这项工作中,我们演示了如何将LLM高效地移植到移动设备上,以便它们可以在移动设备上以交互速度本地运行。

 LLM framework for on-device inference

        最初,我们试图通过tensorflow Lite(TF Lite)框架在移动设备上本地进行LLM推理,因为它是最流行的on device推理框架。但是对于LLM来说,Hugging Face模型上可用的几乎所有微调模型都只提供PyTorch权重,因此必须转换为TFLite。结果发现比较困难。

        因此,我们选择了llama.cpp framework ,这是一个非常灵活且自包含的C++框架,用于在各种设备上进行LLM推断。它可以在CPU或GPU/CUDA上运行最先进的模型,如Llama/Llama 2、Vicuna或Mistral,并提供大量选项(例如设置温度、上下文大小或采样方法)。它支持各种低于8位的量化方法(每个参数从2位到6位),这对于在内存有限的智能手机上运行具有数十亿参数的模型至关重要。

        为了构建llama.cpp框架的C++库和可执行文件,需要一个标准的Linux构建工具链,包括终端(shell)、命令行工具、CMake/Make、C/C++编译器和链接器等等。对于Android,幸运的是,通过Termux app 可以获得这样的构建工具链。它可以通过Android开源软件包管理器F-Droid 安装,不需要root访问设备。

安装Termux后,我们在那里打开一个控制台,并通过Termux软件包管理器pkg安装必要的工具(如wget、git、cmake、clang编译器)。我们还在PC上安装了Android屏幕镜像软件scrcpy,这样我们就可以直接在PC上控制设备并镜像其屏幕。

为了构建llama.cpp二进制文件,我们现在从各自的github repo中克隆其最新源代码。我们调用CMake生成Makefile并通过Make命令构建所有二进制文件。我们通过在CPU上进行模型推理来编译二进制文件。

Model selection and prompt format 

在Hugging Face model hub上,有许多预训练的大型语言模型可用,这些模型在网络架构、模型大小、训练/微调过程以及数据集和任务方面各不相同。

经过一些实验,我们选择了具有30亿个参数的Orca-Mini-3B模型。它在最近的智能手机上以交互速度运行,并通过Orca方法的模仿学习进行微调,从而对用户查询提供体面的响应。我们采用一个量化模型,每个参数约为5.6位,在器件上大约占用2.2 GB的CPU RAM

提示格式如下例所示:

Experiments and evaluation  

我们对所选模型进行了主观评估,测试了该模型对与政治、地理、历史等不同主题相关的用户查询的响应。从测试中我们可以推断出该模型为大多数用户查询提供了准确而忠实的答案。当然,像每个LLM一样,它有时会产生幻觉(提供错误信息)。下图1显示了用于直接聊天的LLM应用程序的输出示例。LLM为来自不同领域的问题提供正确答案。

该模型的输出生成速度足以在三星Galaxy S21智能手机上进行互动聊天。

 

这篇关于【论文浅尝】Porting Large Language Models to Mobile Devices for Question Answering的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940774

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图

速通GPT-3:Language Models are Few-Shot Learners全文解读

文章目录 论文实验总览1. 任务设置与测试策略2. 任务类别3. 关键实验结果4. 数据污染与实验局限性5. 总结与贡献 Abstract1. 概括2. 具体分析3. 摘要全文翻译4. 为什么不需要梯度更新或微调⭐ Introduction1. 概括2. 具体分析3. 进一步分析 Approach1. 概括2. 具体分析3. 进一步分析 Results1. 概括2. 具体分析2.1 语言模型

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略 参考论文 无水印

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次!  完整论文+代码+数据结果链接在文末!  订阅后可查看参考论文文件 第一问 1.1 问题重述 这个问题围绕的是华北山区的某乡村,在有限的耕地条件下,如何制定最优的农作物种植策略。乡村有 34 块露天耕地和 20 个大棚,种植条件包括粮食作物、蔬菜、水稻和食用菌。除了要考虑地块的面积、种植季节等,还要确保