标签: AGI

  • FILM-7B: A Large Language Model that Makes Full Use of Context

    Large language models (LLMs) are becoming increasingly powerful, but they still struggle to fully utilize information within long contexts. This “lost-in-the-middle” challenge can hinder the development of LLMs, as they may fail to understand the full meaning of long texts.

    This blog article will discuss a new approach called FILM-7B (FILl-in-the-Middle) that addresses this challenge. FILM-7B is based on Mistral-7B and utilizes information-intensive (IN2) training, a data-driven solution that emphasizes the importance of every position in a long context.

    The Lost-in-the-Middle Challenge

    LLMs often struggle to understand the full meaning of long texts because they fail to recognize the importance of information in the middle of the context. This can lead to errors in tasks such as question answering and summarization.

    The “lost-in-the-middle” challenge is caused by a lack of explicit supervision during training. LLMs are not explicitly taught that every position in a long context can hold crucial information.

    FILM-7B: A Data-Driven Solution

    FILM-7B addresses the “lost-in-the-middle” challenge through IN2 training. This training method uses a synthesized long-context question-answer dataset, where the answer requires:

    • Fine-grained information awareness on a short segment (~128 tokens) within a synthesized long context (4K-32K tokens).
    • Integration and reasoning of information from two or more short segments.

    By applying IN2 training to Mistral-7B, FILM-7B is able to effectively utilize information from different positions in its 32K context window.

    Evaluation and Results

    FILM-7B was evaluated on three probing tasks that encompass various context styles and information retrieval patterns. The results demonstrate that FILM-7B can robustly retrieve information from different positions in its long context window.

    Furthermore, FILM-7B significantly improves the performance on real-world long-context tasks, while maintaining a comparable performance on short-context tasks. These results indicate that IN2 training can generalize to real-world scenarios and that FILM-7B does not compromise short-text capabilities during training.

    Conclusion

    FILM-7B is a promising LLM that addresses the “lost-in-the-middle” challenge through IN2 training. This data-driven approach allows FILM-7B to effectively utilize information from different positions in long contexts, leading to improved performance on both probing tasks and real-world long-context tasks.

    Further Research

    Several areas for further research are identified in the paper, including:

    • Exploring the diversity of training data.
    • Optimizing training strategies.
    • Investigating the impact of different model architectures.
    • Enhancing the model’s cross-lingual capabilities.
    • Exploring real-time performance and robustness.

    These research directions will help to further improve the capabilities of FILM-7B and other LLMs in handling long contexts.

    Additional Resources

    • GitHub Link: https://github.com/microsoft/FILM
    • Paper: https://arxiv.org/abs/2310.05389

  • 如何让大型语言模型(LLMs)充分利用长文本信息?——微软提出的FILM方法

    大家好,相信不少人已经体验过ChatGPT等大型语言模型(LLMs)强大的对话和写作能力。但你可能不知道,目前的LLMs在处理长文本(如长篇小说、学术论文等)时,还面临着一个棘手的问题,那就是”迷失在中间”(Lost-in-the-Middle)。

    什么是”迷失在中间”?简单来说,就是模型在阅读一篇很长的文章时,往往能很好地理解文章开头和结尾的内容,但对中间段落的重要信息却视而不见。这就像我们看一部电影,只记住了精彩的开场和结局,但对中间情节毫无印象。

    微软的研究人员推测,造成这个问题的原因,可能是目前用于训练LLMs的长文本数据存在偏差——它们没有明确告诉模型:文章的每个部分都可能包含关键信息,要认真对待!这就导致模型养成了”重两头、轻中间”的坏习惯。

    为了纠正这个偏差,研究人员提出了一种名为”信息密集型训练”(Information-Intensive Training,简称IN2)的新方法。它的核心思想是:人工合成一批长文本问答数据,其中的问题都需要模型在长文本的不同部分准确定位信息,并将它们联系起来进行推理。通过在这样的数据集上反复训练,模型就能学会关注长文本的每个细节。

    研究人员以Mistral-7B模型为基础,应用IN2训练方法,得到了一个名为FILM-7B的新模型。为了全面测试它的长文本理解能力,他们还精心设计了多个探测任务,覆盖不同的文本类型(如文档、代码、表格数据等)和信息检索模式(如串联、跳跃、双向等)。

    在这些探测任务上,FILM-7B展现了出色的表现,证明它能够灵活地在长达32,000词的超长文本中准确定位关键信息。更令人兴奋的是,在现实世界的长文本应用中,如长篇问答(NarrativeQA)任务,FILM-7B的F1分数也从23.5大幅提高到26.9,而在需要推理的常识问答(CSQA)等短文本任务上,性能并未下降反而小幅提升(59.3%->59.2%),可见IN2方法的有效性。

    此外,研究人员还将FILM-7B与其他知名的开源长文本模型(如ChatGLM、LongChat等)和商业模型(如GPT-3.5/4)进行了比较,结果显示FILM-7B在大多数长文本任务上都实现了最佳表现,充分证明了IN2训练的潜力。

    当然,FILM-7B还有进一步改进的空间。例如,研究人员分析发现,在训练过程中合理使用”滑动窗口”和”位置编码”等技巧,有望进一步提高模型性能。未来,他们还计划在更大规模、更多样化的真实数据上应用IN2方法,以进一步提升FILM系列模型的长文本理解能力。

    总之,这项研究为LLMs在长文本处理上的瓶颈问题提供了一种简单有效的解决思路,相信通过更多研究者的努力,LLMs必将在各类长文本应用场景中发挥更大的价值。感兴趣的读者可以访问论文 [项目网站](https://github.com/microsoft/FILM) 了解技术细节并动手实践。

    以上就是我对这篇论文的通俗解读,不知你觉得如何?欢迎在评论区交流你的想法!

  • 破解AI模型速度瓶颈:一种全新的“分组查询注意力”方法

    你是否曾经对人工智能模型的运算速度感到不耐烦,同时又希望它能保持高质量的预测结果?这可能听起来像是一个无法两全的问题,但科研人员们并没有停下探索的脚步。今天,我们要介绍的这篇研究报告,就给出了一个行之有效的解决方案。这篇研究名为 “GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints”,由来自Google Research的团队所撰写。他们提出了一种称为“分组查询注意力(Grouped-query attention, GQA)”的新方法,旨在解决Transformer模型中的一个关键问题,即如何在保持预测质量的同时,提高模型的运算速度。

    首先,让我们理解一下这个问题的背景。在Transformer模型中,一个关键的计算过程就是自回归解码器推理。这个过程需要大量的内存带宽来加载解码器权重和所有注意力键值,这就大大限制了模型的运算速度。为了解决这个问题,研究者们提出了多查询注意力(Multi-query attention, MQA)方法,它只使用一个键值对来大幅度提高解码器推理的速度。然而,MQA方法可能会导致预测质量下降,而且也不太适合用于训练单独的模型以提高推理速度。

    在这样的背景下,Google Research的团队提出了两个重要的贡献。首先,他们发现,可以使用少量的原始训练计算来将具有多头注意力(Multi-head attention, MHA)的语言模型检查点进行升级训练,使其能够使用MQA,这是一种非常成本有效的方法,可以同时获得高速的MQA和高质量的MHA检查点。其次,他们提出了分组查询注意力(GQA)的概念,这是一种在多头注意力和多查询注意力之间的插值方法,它为每组查询头部共享一个键和值头部。

    GQA的工作原理是将查询头部分成若干组,每组共享一个键头和值头。具有G组的GQA被称为GQA-G。GQA-1(具有一个组,因此具有一个键和值头)等同于MQA,而具有等于头部数量的组的GQA-H等同于MHA。通过使用中间数量的组,GQA可以产生一个质量比MQA高,但速度比MHA快的插值模型。此外,对于大型模型,GQA的优势更加明显,因此,我们期待GQA能在大型模型中提供一个特别好的权衡方案。

    在实验部分,研究者们使用了基于T5.1.1架构的所有模型,并对T5 Large和XXL的多头注意力版本,以及使用多查询和分组查询注意力的升级版T5 XXL进行了主要实验。实验结果表明,使用GQA的T5-XXL模型在各种不同的数据集上,包括CNN/Daily Mail, arXiv, PubMed, MediaSum, 和 MultiNews等新闻摘要数据集,以及WMT英德翻译数据集和TriviaQA问答数据集上,都保持了与多头注意力模型相近的质量,同时又具有与多查询注意力模型相近的速度。

    在AI领域,我们一直在寻找提高效率和质量的方法,而GQA的出现无疑为我们提供了一个新的可能。它不仅提高了模型的运算速度,而且还成功地保持了预测的质量。这使得GQA成为了提高AI模型性能的一种有力工具,我们有理由期待,这种方法将在未来的AI应用中发挥更大的作用。

    总的来说,这项研究的重要性在于,它不仅提供了一种提高AI模型速度的有效方法,而且这种方法还能保持模型的预测质量。这使得我们可以在实际应用中实现更快、更准确的AI模型,从而在各种场景中提供更好的服务。

    这就是今天的分享,希望你们能从中获取到有用的信息。我们将继续关注更多的人工智能研究,并与大家分享。感谢你们的倾听,我们下次见!

  • 从 LLAMA 到 LLAMA2:开源模型的进化之路

    大家好,欢迎来到我的博客!今天,我们要聊一聊有关两个开源语言模型的故事,它们分别是 LLAMA 和 LLAMA2。正如在科技世界里常见的,这两个模型的出现,都代表着一次重要的突破和进化。那么,它们是如何超越自身,再次突破技术瓶颈的呢?让我们一起探索吧。

    1. LLaMA:以开放和高效为目标的基础语言模型

    首先,我们来看看第一个主角 LLAMA。它仅仅使用公开可用的数据(数量高达数万亿 tokens)就训练出了效果超越 GPT-3 和 Chinchilla-70B PaLM-540B 的模型。最让人惊奇的是,它的体积比 GPT-3 小十倍,但效果更好。这是怎么做到的呢?

    LLaMA 的开发者们发现,给定一定的计算量预算,我们可以通过在较小的模型上训练更多的数据来获取最好的效果。这就是 LLAMA 所依据的尺度原则。

    为了训练 LLAMA,开发者们使用了多种来源的预训练数据,包括英文 CommonCrawl, Github, Wikipedia 等。每一种数据都经过了严格的清洗和筛选,以确保模型训练的质量。在训练时,每个 token 只训练一次,除了 Wikipedia 和 Books,训练了两次。

    LLaMA 的模型结构基于 transformer,在 GPT3、PaLM、GPTNeo 的基础上做出了改良。其中包括使用 RMSNorm 进行 Pre-normalization,使用 SwiGLU 替换 ReLU 作为激活函数,舍弃绝对位置编码,使用旋转位置编码等一系列创新手段。

    2. LLaMa 2:基础和微调并进的聊天模型

    接下来,我们来了解一下 LLAMA 的升级版本——LLAMA2。虽然 LLAMA1 的效果已经非常优秀,但是与闭源的“产品级”模型相比,如 ChatGPT、BARD、Claude,仍有一定的差距。因此 LLAMA2 的目标就是要尽可能地提升模型的性能,使其更符合人类的偏好。

    LLAMA2 的训练数据量增加了40%,达到了2万亿 tokens。同时,上下文长度翻倍,引入了 grouped-query attention 的新技术。这些改变使得 LLAMA2 在长数据的效果明显提升,而在短数据上的性能则没有下降。

    LLAMA2 在微调上也做了很多工作。它引用了 LLAMA1 中的 SFT 数据集设置,对模型进行了精细的调整。在收集数据时,采用了课程策略,逐渐将问题复杂化,使得模型能够更好地适应和处理各种问题。

    结语

    总的来说,LLAMA 和 LLAMA2 的出现,代表了开源模型的重大进步。他们的成功,得益于严谨的数据处理,创新的模型结构,以及精细的模型调整。这些都是我们在探索人工智能的道路上,值得学习和借鉴的经验。

    希望这篇博客能给你带来一些启发和灵感。我们下次再见!

  • XAgent:面向复杂任务解决的自主智能体

    XAgent 是一个开源的基于大型语言模型(LLM)的自主智能体,能够自动解决各种任务。它旨在成为一个通用的智能体,应用于各种任务。尽管 XAgent 目前仍处于早期阶段,我们正在不断努力改进它。

    我们的目标是创建一个可以解决任何给定任务的超级智能体。我们欢迎全职、兼职等各种形式的合作。如果您对智能体的前沿感兴趣,并希望加入我们实现真正的自主智能体,欢迎与我们联系。

    XAgent 特点

    XAgent 具有以下特点:

    • 自主性:XAgent 可以在没有人类参与的情况下自动解决各种任务。
    • 安全性:XAgent 被设计为安全运行。所有的行为都被限制在一个 Docker 容器内,不用担心您的主机环境受到影响。
    • 可扩展性:XAgent 被设计为可扩展的。您可以轻松地添加新的工具来增强智能体的能力,甚至是新的智能体!
    • GUI:XAgent 为用户提供了友好的 GUI 来与智能体交互。您也可以使用命令行界面与智能体交互。
    • 与人类的合作:XAgent 可以与您合作解决任务。它不仅有能力在行进中遵循您的指导来解决复杂的任务,而且在遇到挑战时还可以寻求您的帮助。

    工具服务器

    工具服务器为 XAgent 提供强大和安全的工具来解决任务的服务器。它是一个 Docker 容器,为 XAgent 提供一个安全的运行环境。目前,工具服务器提供以下工具:

    • 文件编辑器:提供一个文本编辑工具,可以写入、读取和修改文件。
    • Python笔记本:提供一个交互式的 Python 笔记本,可以运行 Python 代码来验证想法、绘制图形等。
    • 网页浏览器:提供一个网页浏览器,可以搜索和访问网页。
    • Shell:提供一个 bash shell 工具,可以执行任何 shell 命令,甚至安装程序和托管服务。
    • Rapid API:提供一个从 Rapid API 检索 API 并调用它们的工具,为 XAgent 提供了广泛的 API。

    快速开始

    首先,您需要安装 Docker 和 docker-compose。然后,您需要构建工具服务器的镜像。在 ToolServer 目录下,运行以下命令:

    cd ToolServer
    docker-compose up

    这将构建工具服务器的镜像并启动工具服务器的容器。如果您想在后台运行容器,请使用 docker-compose up -d

    在启动 ToolServer 后,您可以配置并运行 XAgent。首先,安装依赖项:

    pip install -r requirements.txt

    然后,您需要使用 config.yml 配置 XAgent 才能运行。请提供至少一个 OpenAI key,用于访问 OpenAI API。

    最后,运行 XAgent:

    python run.py --task "put your task here" --model "gpt-4"

    您可以使用参数 --upload_files 来指定提交给 XAgent 的文件。

    案例

    我们提供了一些使用 XAgent 解决任务的案例。您可以在 XAgent 官网上查看我们的在线演示。我们还提供了视频演示和使用 XAgent 的案例。

    案例1. 数据分析:展示双环机制的有效性

    在这个案例中,我们将展示 XAgent 如何利用双环机制来解决数据分析任务。我们将使用一个简单的数据集 iris.zip 上传到 XAgent,然后让 XAgent 分析数据集并生成一个报告。XAgent 将任务分解为 4 个子任务:数据理解,验证 Python 环境,编写数据分析代码,编写报告。

    案例2. 推荐:展示与人类的合作

    XAgent 拥有独特的能力,可以积极寻求人类协助并共同解决问题,持续重新定义着人类与智能体人合作的界限。如下方截图所示,用户寻求了 XAgent 的帮助,以推荐一些适合友好聚会的优秀餐厅,但未提供具体细节。识别到提供的信息不足,XAgent 利用了“请求人类帮助”工具,促使人类介入以获取用户的偏好位置、预算限制、烹饪偏好以及任何饮食限制。凭借这宝贵的反馈信息,XAgent 轻松地生成了定制的餐厅推荐,确保用户及其朋友们获得了个性化和令人满意的体验。

    案例3. 训练模型:高级工具使用者

    XAgent 不仅能处理琐碎任务,还可以在复杂任务中提供宝贵的帮助,比如模型训练。在这里,我们展示了一个用户希望分析电影评论并评估特定电影周围公众情感的情景。作为回应,XAgent 迅速启动了下载 IMDB 数据集的过程,以训练一款先进的 BERT 模型。拥有了这个训练有素的 BERT 模型,XAgent 能够轻松地应对电影评论的复杂细节,提供关于公众对各种电影看法的见解性预测。

    评测

    我们进行了人类偏好评估,以评估 XAgent 的性能。我们为评估准备了超过 50 个现实世界的复杂任务,可以分为 5 个类别:搜索与报告,编码与开发,数据分析,数学和生活助手。我们将 XAgent 的结果与 AutoGPT 进行比较,结果显示 XAgent 完全胜过 AutoGPT。

    博客

    我们的官方博客在这里

    引用

    如果您发现我们的仓库对您有帮助,希望您能引用我们的论文:

    @misc{xagent2023,
          title={XAgent: An Autonomous Agent for Complex Task Solving}, 
          author={XAgent Team},
          year={2023},
    }

    以上就是 XAgent 的详细介绍和使用案例,希望对您有所帮助。

  • vLLM:让大型模型推理更快的工具

    今天,我要给大家介绍一款名为vLLM的神奇工具。它的主要功能是加速大型语言模型(如OpenAI的GPT-3)的推理速度。如果你是NLP(自然语言处理)领域的研究员或开发者,我相信这个工具可能会对你的工作有所帮助。

    为什么我们需要vLLM?

    在大规模语言模型运行时,我们常常遇到一个问题:显存不足。这是因为在生成新的单词或者词语(token)时,我们需要存储一些称为 keys 和 values的数据(我们可以把它们看作是模型用来生成新token的”记忆”)在GPU的显存中。然而,这些数据通常非常大,而且大小也会不断变化,这使得显存管理变得困难。传统的管理方式往往会造成显存的60%-80%的浪费。

    这就是vLLM要解决的问题。它引入了一种名为PagedAttention的新技术,可以有效地管理这些keys和values,使得显存的使用效率接近最优(浪费比例低于4%)。这样一来,我们就可以使用更大的数据批次进行运算,从而提高GPU的并行计算能力。

    vLLM的核心技术:PagedAttention

    PagedAttention的工作原理受到了操作系统中虚拟内存和分页的启发。它将每个序列的数据划分为块,每个块包含固定数量的keys和values。这些块不需要连续的内存,因此可以更灵活地对它们进行管理。

    此外,PagedAttention还支持内存共享,也就是说,当用一个提示生成多个不同的序列时,可以共享计算量和显存。这种内存共享机制可以大幅降低显存需求(最高可降低55%),从而进一步提升推理速度。

    如何使用vLLM?

    vLLM的使用非常简单。首先,使用pip命令安装vLLM:

    pip install vllm

    然后,你就可以使用vLLM来生成文本了:

    from vllm import LLM
    
    prompts = ["Hello, my name is", "The capital of France is"]  # 提示
    llm = LLM(model="lmsys/vicuna-7b-v1.3")  # 创建一个LLM
    outputs = llm.generate(prompts)  # 从提示生成文本

    vLLM也支持在线服务。你可以使用以下命令启动一个在线服务:

    python -m vllm.entrypoints.openai.api_server --model lmsys/vicuna-7b-v1.3

    然后,你就可以通过HTTP请求来调用这个服务了:

    curl http://localhost:8000/v1/completions \
        -H "Content-Type: application/json" \
        -d '{
            "model": "lmsys/vicuna-7b-v1.3",
            "prompt": "San Francisco is a",
            "max_tokens": 7,
            "temperature": 0
        }'

    如果你对vLLM感兴趣,可以在这里查阅更多信息。希望这个工具能对你的工作或学习有所帮助!

  • QLoRA: 高效Finetuning 量化 LLMs

    Dettmers提出了一种高效的微调方法QLoRA,它能够在保持完整的16位微调任务性能的同时,将内存使用量降低到足以在单个48GB GPU上微调65B参数模型的程度。

    QLoRA通过在低秩适配器(LoRA)中将梯度反向传播到一个冻结的、4位量化的预训练语言模型。我们最优秀的模型家族,我们将其命名为Guanaco,在Vicuna基准测试中胜过之前所有公开发布的模型,达到了ChatGPT性能水平的99.3%,而仅需要在单个GPU上进行24小时的微调。QLoRA在不牺牲性能的前提下采用了许多创新技术来节省内存:

    (a)4位NormalFloat(NF4),一种对于正态分布权重来说,从信息理论角度具有最优性的新数据类型;

    (b)双重量化,通过量化量化常数来减少平均内存占用;

    (c)分页优化器,以管理内存峰值。我们使用QLoRA对超过1000个模型进行微调,在8个指令数据集中,对多种模型类型(LLaMA,T5)以及在常规微调中难以运行的模型规模(例如33B和65B参数模型)进行了详细的指令跟随和聊天机器人性能分析。

    结果表明,QLoRA在小型高质量数据集上的微调可以达到最先进的结果,即使使用比之前SoTA更小的模型。我们根据人类评估和GPT-4评估结果,对聊天机器人性能进行了详细分析,结果表明GPT-4评估是一种廉价且合理的人类评估替代方案。此外,当前的聊天机器人基准测试并不可靠,无法准确评估聊天机器人的性能水平。已发布了所有模型和代码,包括用于4位训练的CUDA内核。


    artidoro/qlora: QLoRA: Efficient Finetuning of Quantized LLMs (github.com)

  • 知乎携手面壁智能推出全新开源大模型:CPM-Bee10b 登顶中文基座模型

    2023年5月27日,知乎在2023中国国际大数据产业博览会上发布了最新的大语言模型成果。知乎合伙人、首席技术官李大海宣布,知乎和面壁智能共同研发的中文基座大模型CPM-Bee10b全面开源,并发布了智能大模型产品“露卡”和知乎大模型应用功能“搜索聚合卡”。李大海表示,知乎将携手面壁智能,让中国用户在大模型时代享受到最优质的服务。

    知乎与面壁智能首度合作,推出开源大模型CPM-Bee10b

    在“2023知乎发现大会”上,知乎发布了大语言模型“知海图AI”并内测首个站内大模型应用功能“热榜摘要”。此举令知乎成为国内首批具备大语言模型能力的公司,并且让更多人开始关注知乎的技术发展。时隔一个月之后,知乎在2023数博会上再度带来惊喜。

    知乎联合面壁智能发布了首个开源中英文基座大模型CPM-Bee 10b。李大海介绍,该模型从零开始自主训练,基于Transformer架构,中英双语表现优秀,拥有百亿量级参数、超过3万亿高质量语料。经过ZeroCLUE的评测,CPM-Bee10b 以平均 79.8 分登顶中文基座模型,并且英文基座模型得到了68的平均分。“CPM-Bee10b 将全面开源,并允许商用。”李大海称,面壁智能一直坚持开源路线,未来也会持续拥抱开源,促进大模型领域技术和生态的繁荣。

    智能大模型产品“露卡”亮相,展现全面性能

    发布会上,知乎还带了最新的智能大模型产品“露卡”(Luca)。该产品在开源基础模型上又有进一步性能提升,可以进行智能交互并支持多轮对话。从评测结果来看,有65%的结果性能等于或优于ChatGPT。在发布会现场演示中,“露卡”既展示了写文案、藏头诗、解数学题等“全科”能力,也能完成例如“如何制作毛血旺”等回答。令人惊喜的是,“露卡”还拥有图片理解能力,甚至可以查找论文并生成摘要,这表明“露卡”拥有非常优秀的多模态理解能力。

    知乎推出大模型应用功能“搜索聚合卡”,助力用户高效获取信息

    除了基础能力,知乎也是国内率先在应用层面探索大模型产品的公司。继“热榜摘要”之后,知乎带来了又一款站内的大模型应用功能“搜索聚合”。该产品将大模型能力应用到了知乎搜索上,每当用户触发搜索时,系统就会从大量提问和回答中聚合观点,提高用户获取信息、形成决策的效率。发布会当天,“露卡”和“搜索聚合”都开启了正式内测。李大海表示,知乎将继续夯实大模型基础能力,迭代应用产品,为让中国用户享受到一流的大模型服务而努力奋斗。

    未来展望:知乎致力于为用户提供一流的大模型服务

    本次发布会标志着知乎在大模型领域的技术实力再次得到了充分展示,同时也展现出知乎在人工智能领域的技术积累和创新能力。在与面壁智能的合作中,双方共同推进了大模型的研发,为中国用户带来了更多优质的服务。

    未来,知乎将继续加强与各方的合作,进一步拓展大模型在实际应用中的价值。通过不断优化和升级大模型技术,以及与实际场景相结合的应用产品,知乎将努力成为大模型领域的引领者,让更多用户在大模型时代享受到一流的服务。

  • ConvNeXt V2:使用遮罩自编码器共同设计和扩展ConvNets

    由于改进的架构和更好的表示学习框架的推动,视觉识别领域在 2020 年代初期迅速现代化并提高了性能。例如,现代卷积神经网络(ConvNets),以 ConvNeXt 为代表,在各种场景中表现出强大的性能。尽管这些模型最初是为具有 ImageNet 标签的监督学习设计的,但它们也可能从自监督学习技术(如遮蔽自动编码器(MAE))中受益。然而,我们发现简单地结合这两种方法会导致性能不佳。在本文中,我们提出了一个全卷积遮蔽自动编码器框架和一个新的全局响应归一化(GRN)层,这个层可以添加到 ConvNeXt 架构中以增强通道间特征竞争。这种自监督学习技术和架构改进的共同设计产生了一个名为 ConvNeXt V2 的新模型族,它显著提高了纯粹的 ConvNets 在各种识别基准上的性能,包括 ImageNet 分类、COCO 检测和 ADE20K 分割。我们还提供了各种尺寸的预训练 ConvNeXt V2 模型,从参数数量为 370 万的高效 Atto 模型(在 ImageNet 上的 top-1 准确率为 76.7%),到使用公共训练数据达到最先进的 88.9% 准确率的 6.5 亿参数的 Huge 模型。

    [2301.00808] ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders (arxiv.org)

  • 大模型能力的“涌现”机制被谷歌发现

    大型语言模型的涌现能力是一个黑箱,难以解释。尽管目前的研究已经开始揭示其中的一些机制,但我们仍然需要更深入的研究来更好地理解这些现象。

    谷歌的这篇论文提供了有关语言模型的ICL行为如何随着模型参数而改变的重要见解,以及更大的语言模型具有将输入映射到许多类型的标签的涌现能力。这些发现表明,不同规模的语言模型在上下文学习能力方面存在着明显的差异。特别是,大型语言模型可以通过覆盖预先训练的语义知识和学习输入-标签映射来执行任务,而小型模型则更依赖于先验知识。

    此外,研究者还发现,指令调优加强了语义先验知识的使用,而不是增加了学习输入-标签映射的能力。这些发现有助于我们更好地理解语言模型的涌现行为,同时也为未来的研究提供了方向,包括为什么这些现象会与模型参数规模相关等问题。


    未来的研究可以探索不同类型的语言模型之间的差异,以及它们的涌现能力如何随着训练数据集的规模变化而改变。

    此外,可以研究如何利用语义先验知识和输入-标签映射来设计更好的训练策略,以提高语言模型的性能。

    最终,我们希望通过深入研究语言模型的涌现能力,能够更好地理解它们如何执行复杂的自然语言处理任务,并为未来的人工智能发展提供更好的基础。

    论文地址:https://arxiv.org/pdf/2303.03846.pdf

  • InstructBLIP抢跑看图聊天,开源项目横扫多项SOTA

    InstructBLIP是一种指令感知的多模态基础模型,通过微调BLIP-2和丰富指令微调数据获得。它在图像理解、推理和描述上有很强的表现,实现了SOTA,有更好的泛化能力。值得期待其在更广泛的数据集和任务上持续创新。

    1. GPT-4尚未上线,但已被InstructBLIP超越,尤其在图像理解、推理和描述上表现更强。
    2. InstructBLIP基于BLIP-2进行微调得到,能进行多轮视觉对话,有更强的泛化能力。
    3. InstructBLIP通过收集11个任务类别下28个数据集,生成10-15个指令模板,得到更丰富的指令微调数据。
    4. InstructBLIP利用BLIP-2中的Q-Former,实现了指令感知的视觉特征提取方法。指令不仅输入到LLM,也输入到Q-Former,这有助提高模型从不同指令中学习的能力。
    5. 考虑数据集数量和大小差异,InstructBLIP使用加权采样和平滑方法进行训练。为某些数据集手动调整权重,提高其收敛性。
    6. InstructBLIP在13个数据集上取得SOTA,超过BLIP-2和Flamingo。在视频QA上未见过的数据集上,InstructBLIP超过SOTA47.1%。
    7. 消融研究显示,指令感知视觉特征提取和数据集平衡策略对性能有明显提升。特别是在需空间/时间视觉推理的任务上,指令输入Q-Former更为关键。
    8. 定性研究显示,InstructBLIP比GPT-4、LLaVA和MiniGPT-4有更全面、视觉化和逻辑的表现。InstructBLIP可以自适应生成不同长度的响应,解决用户意图。
    9. InstructBLIP通过指令微调和多任务训练,在特定数据集上有更好表现。与Flamingo和BLIP-2相比,InstructBLIP在微调时图像分辨率和视觉编码器保持不变,降低了训练参数,提高了效率。

    gfodor/instructblip-replicate: InstructBLIP replicate cog package (github.com)

    [2305.06500] InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning (arxiv.org)

  • BLOOMChat: 开源可商用支持多语言的大语言模型,性能逼近GPT-4!

    背景:目前开源的大语言模型对多语言支持不够理想,且大多数模型参数量不够大,无法商用。而SambaNova和Together联合开源的BLOOMChat是一个支持46种语言、参数达1760亿的开源可商用微调模型。

    • BLOOMChat: BLOOMChat是在SambaNova的AI计算平台上训练的,目的是打造一个开源的、支持多语言、可商用的聊天LLM。实验表明BLOOMChat对多语言的支持明显优于其它开源模型。
    • 数据和方法: BLOOMChat使用OpenChatKit、Dolly 2.0和OASST1等英语数据集进行BLOOM(176B)模型的微调。尽管只用英语数据微调,但BLOOMChat在其他语言的对话质量也得到明显提高。
    • 实验效果: 让不同语言的native speaker评价BLOOMChat在其语言下的回答质量,BLOOMChat明显优于其他开源模型,但略逊于GPT-4。对BLOOMChat的回答进行评分,70%以上得到正确或可接受的评价。在WMT翻译任务上,BLOOMChat优于其他开源模型,但弱于GPT-4。
    • BLOOMChat的局限性: 可能生成错误或无关信息,切换语言,重复内容,对代码或数学问题生成效果一般,可能产生不适当内容等。

    BLOOMChat是一个完全开源、超千亿参数、专门针对多语言的聊天LLM。

    sambanova/bloomchat: This repo contains the data preparation, tokenization, training and inference code for BLOOMChat. BLOOMChat is a 176 billion parameter multilingual chat model based on BLOOM. (github.com)

  • RMT 突破LLM百万Tokens上下文长度

    Scaling Transformer to 1M tokens and beyond with RMT 这份技术报告展示了循环记忆的应用,以扩展 BERT 的上下文长度,这是自然语言处理中最有效的基于 Transformer 的模型之一。通过利用循环记忆 Transformer 架构,我们成功地将模型的有效上下文长度增加到前所未有的 200 万个标记,同时保持高记忆检索精度。我们的方法允许存储和处理局部和全局信息,并通过使用递归实现输入序列段之间的信息流。我们的实验证明了我们方法的有效性,这具有巨大的潜力来增强自然语言理解和生成任务的长期依赖处理,并为记忆密集型应用程序启用大规模上下文处理。

    2304.11062.pdf (arxiv.org)

  • 思维链 — 展现解题过程的重要性

    最近的大模型训练进展表明,正如人们学习数学的时候,解题思路很重要一样,大模型也可以通过生成解体思路来教会小模型很多。

    思维链(CoT)训练大幅提升模型性能 (jieyibu.net)

  • chatGPT对软件技术栈的冲击将逐渐显现

    软件研发的技术栈是逐步迭代形成的,其第一性原理是:通过技术栈对系统的复杂性就行分层控制。

    由此可知,如果系统复杂性由于chatGPT类AI的介入,导致原来控制不了的,现在非常好控制的话,那么一些原来看起来简单的技术栈又会复兴。

    以网站前端研发为例子,从最早的纯HTML到jQuery在到react/vuejs等,逐步复杂,其学习成本和难度也逐渐增加,但是对于越来越复杂的网站来说这是必要的。因为重写一个页面的成本太高了。

    以网站后端研发为例子,从最早的perl到PHP再到Java微服务,无不是为了控制复杂的逻辑,将复杂度逐层逐块分解,放在不同的系统里控制起来,以便促进系统的平稳演化。

    但是,现在chatGPT来了,如果一个prompt就可以写好一个PHP页面的话,谁还在乎每隔几周让AI重写一遍?


    chatGPT等AI对软件研发的最大冲击根源是,复用的标的物从source code变成了prompt。这是很容易被忽略了,现在说似乎太早,但是,等到GPT-5/6发布的时候,一切就会非常明朗了!

  • Prompt Engineering的现在和未来

    Prompt Engineering是现阶段AGI还不够智能的一个阶段性产物,但是很难判断这个阶段有多长。

    如果在相当长的一段时间内,AGI的上下文能力都在100万Token以内的话,Prompt Engineering将长期存在并非常重要。

    如果AGI的上下文能力达到10亿Token规模(和人类相当)那么就不再需要什么Prompt Engineering,取代Prompt Engineering将是纯粹的自然语言表达。

  • 中文对话AI的关键障碍

    近年来,随着OpenAI推出的chatGPT的火爆,越来越多的中国互联网巨头纷纷加入通用对话大语言模型(GPT)的研发领域。然而,对于这些大型模型,许多非业内人士可能并不了解其中的技术细节。实际上,这些模型的代码量并不大,结构的复杂也不过是很多层类似的Transformer不断重复而已。尽管训练大型模型的难度较大,但这并非无法克服的挑战。

    真正的难题在于高质量语料的匮乏。中文互联网自从强制备案以来,逐渐枯萎,严格的审查制度使得中文表达的有效性降低,进一步导致语言的小圈子化。此外,各大互联网巨头主推App,纷纷筑起了信息高墙,使得搜索引擎爬取信息变得极为困难,甚至不可能,进而加剧了信息孤岛化现象。

    在这种背景下,自媒体、营销号等无底线的抄袭和洗稿行为进一步破坏了创作者生态,使得优质长内容在中文互联网上几乎绝迹。目前,多学科、多专业的严肃长内容中文网站寥寥无几,知乎或许是其中的佼佼者。在这样的生态环境中,一切向钱看,各类文字创作如小说、故事、软文,往往成为割韭菜的盛宴。

    面对如此严峻的现状,我们不禁要问:如何获取足够多的优质语料来训练中文大语言模型呢?巧妇难为无米之炊,这句古老的谚语似乎反映了当前的困境。最终,人们可能只能依赖将英文语料翻译成中文再进行模型训练的方法,但这样做究竟意义何在?难道仅仅是为了增加一个步骤吗?

    事实上,大型语言模型本来就具有跨语言理解语义的能力,但翻译过程中往往会带来语义损失。一种语言文字的生命力,实际上源于其承载的文化,尤其是科技文化。随着GPT-4等大语言模型的加持,英语的主导地位将得到空前的加强,甚至有朝一日成为全球唯一的活语言,而其他语种将快速走向式微。

    这种情况和微软的dotnet平台上的C#语言与其他语言的演化过程颇为类似。

    以下省略200字。

  • 百度文心一言

    目前百度文心一言还没有对公众开放,不过,百姓网有一个 阿旺机器人 已经正式对公众开放,且开始销售会员。一年999元。有点贵。

    期待文心一言的API对公众开放!

  • AGI 通用人工智能

    本站将作为收集整理分享一些关于通用人工智能的信息。