博客

  • MMDeploy:让模型部署更加轻松的一站式解决方案

    在深度学习领域,模型的部署一直是一个具有挑战性的任务。为了解决这个问题,OpenMMLab推出了MMDeploy,一个强大而灵活的工具,帮助用户轻松地将他们的模型部署到不同的平台和推理引擎上。本文将带您深入了解MMDeploy的功能和最新进展,让您在模型部署的道路上游刃有余!
    时间如白驹过隙,转眼间MMDeploy已经陪伴大家走过一个季度了。在过去的几个月里,MMDeploy不仅积极进行了功能扩展,还提供了详细的模型部署教程。让我们来看看最新的进展吧!

    1. 设备支持:MMDeploy现在集成了NVIDIA Jetson系列,为用户提供了更多的选择。如果您对此感兴趣,可以查看安装说明手册。
    2. 平台支持:MMDeploy现在也支持Windows平台。这项工作的完成超出了预期,经历了各种挑战和困难。在此,我们要特别感谢社区同学对文档的审阅工作。另外,MMDeploy还支持了Android平台,并开发了相应的演示Demo。您可以通过链接观看这个Demo的视频。
    3. FFI封装:MMDeploy现在提供了Python接口,让Python爱好者能够轻松地进行模型推理。只需几行代码,即可完成模型的推理过程。在下面的章节中,我们将提供具体的例子供您参考。目前,MMPose和MMDetection3D也得到了算法库的支持,用户可以体验相关功能。
    4. 新的IR支持:MMDeploy现在支持TorchScript,这是PyTorch的一种中间表示格式。如果您对TorchScript还不太了解,可以通过链接了解更多信息。关于如何使用TorchScript和ONNX,我们将在后续的教程中进行介绍。教程和技术文档的更新将在我们的微信公众号和知乎账号上发布,欢迎大家关注。

    使用MMDeploy的方法非常灵活。您可以将其作为一个整体来完成端到端的模型部署,也可以只使用其中的部分功能模块,根据自己的项目需求灵活选择。例如:

    • 使用Model Converter进行模型转换和推理。这适用于快速搭建模型部署的演示和验证工作。只需提供相应的配置、算法和模型文件,通过一条命令将PyTorch模型转换为所需的推理引擎格式。目前,MMDeploy支持6种推理引擎:TensorRT、ONNXRuntime、PPL.NN、ncnn、OpenVINO和libtorch。
    • 将MMDeploy算子库集成到自己的项目中。如果您已经集成了TensorRT推理引擎,只需加载MMDeploy算子库,即可无缝读取MMDeploy转换的TensorRT模型。同样,这种方式也适用于ONNXRuntime推理引擎。
    • 导出SDK Model,将MMDeploy集成到自己的项目中。这适用于对延迟或吞吐量要求较高的场景。以检测任务为例,您可以选择集成C/C++接口或Python接口。其他任务,如分类、分割、文字检测等,也可以采用相似的方式集成。具体的集成方法和代码示例可以参考本文后续部分。

    除了上述典型的应用场景,您还可以基于MMDeploy开发新的模块或组件。比如,您可以开发新的模型导出方法、推理引擎组件、算法的后处理模块,或者支持其他文件格式的读取模块等。通过付诸行动,您可以开源自己的项目,展示自己的才华和创造力。

    未来规划方面,MMDeploy团队计划在第二季度继续推出新的功能和更新。具体的计划可以参考下图。最后,我们诚挚地邀请大家多多关注MMDeploy,并加入我们的社群,一起享受愉快的学习和探索过程。我们期待您的关注、点赞和参与!

    结语:
    MMDeploy是一个强大而灵活的工具,旨在简化深度学习模型的部署过程。通过MMDeploy,您可以选择最适合自己项目需求的部署方式,并轻松地将模型部署到各种平台和推理引擎上。无论您是初学者还是经验丰富的研究者,MMDeploy都能为您带来便利和效率。让我们一起探索MMDeploy的世界,让深度学习变得更简单!

  • 7B模型之最,Zephyr-7B为何备受瞩目?

    大家好,我想分享一个令人心动的消息,一个由HuggingFace H4团队打造的开源模型Zephyr-7B,以其非凡的性能在AI领域引发了一场轩然大波。这个只有70亿参数的模型,却以出乎意料的实力,击败了拥有700亿参数的巨头LLaMA2!更令人振奋的是,这款模型不仅能轻松在你的苹果电脑上运行,而且它是完全开源且免费的!

    Zephyr-7B,一股清新的西风

    Zephyr-7B的出现,正如它的名字一样,就像一股清新的西风在AI领域中吹拂。这是一个在Mistral-7B模型基础上,经过团队精心微调,使用直接偏好优化(DPO)在公开数据集上进行调整的结果。而这个Mistral-7B模型,是由被誉为“欧洲OpenAI”的Mistral AI打造的一个开源大模型。

    评估模型,Zephyr的优秀表现

    评估模型的性能,我们常用MT-Bench,这是一个评估模型处理多轮对话能力的基准测试,问题集涵盖写作、角色扮演、提取等8个类别。在此测试中,Zephyr-7B-alpha的MT-Bench平均得分为7.09,超越了Llama2-70B-Chat。

    而且,Zephyr并没有止步于此,H4团队推出了它的进化版,Zephyr-7B-beta。他们在GPT-4和Claude 2中提取对齐性,然后将其注入小模型中,开发出了使用蒸馏直接偏好优化(dDPO)用于小模型的方法。二代Zephyr,MT-Bench平均得分升高至7.34。在AlpacaEval上,Zephyr的胜率为90.6%,优于ChatGPT。

    用户反馈,Zephyr的热烈好评

    在接收到这个新闻的网友们中,对Zephyr的好评如潮。一项评分显示,Zephyr-7b-beta的Elo评分已经飙升至很高的水平,甚至超过了13B的模型。许多人纷纷表示,Zephyr的表现超出了他们的预期,他们对Zephyr给予了一致的好评。

    实力背书,Zephyr的高级RAG表现

    Llama Index(此前名为GPT Index)的联合创始人兼CEO Jerry Liu也对Zephyr进行了测试。他发现,Zephyr是目前唯一一个在高级RAG/agentic任务上表现良好的开源7B模型。数据也显示,Zephyr在高级RAG任务上的效果可以和GPT-3.5、Claude 2相抗衡。

    研发成本,Zephyr的经济性

    最后,我想特别提到的是,Zephyr的训练成本。按照研究团队的说法,微调这个模型只需要500美元,也就是在16个A100上跑8小时。这样的成本效益,无疑让Zephyr在AI模型的竞争中占据了更大的优势。

    总的来说,Zephyr-7B的出现,无疑为AI领域带来了一场革新。

  • 探索多语言的人工智能之旅:RWKV-5 World

    人工智能的力量正在日益扩大,其在各领域的应用也在不断深化。今天,让我们来了解一款名为RWKV-5 World的多语言文本生成模型,这款模型由BlinkDL公司开发,目前正在进行训练中。

    RWKV-5 World:一款跨越语言边界的模型

    RWKV-5 World是一款正在进行训练中的文本生成模型,其目标是在100多种世界语言(其中70%为英语,15%为多语言,15%为代码)上进行训练,这些语言数据来自于多个来源,包括EleutherAI的pile数据集,cerebras的SlimPajama-627B数据集,bigcode的starcoderdata数据集,以及oscar-corpus的OSCAR-2301数据集等。

    RWKV-5 World的模型特点

    RWKV-5 World模型的训练使用了RWKV-LM v4neo,这是一款由BlinkDL公司开发的领先的语言模型训练工具。在训练过程中,我们设定了”r2r4″作为测试参数。到目前为止,我们已经完成了两个版本的训练,第一个版本使用了0.59T的标记,第二个版本使用了1.12T的标记。

    RWKV-5 World的使用方法

    如果你想尝试RWKV-5 World模型,你需要使用rwkv pip包0.8.14+进行推理,你可以在PyPI上找到它。同时,我们也提供了在线演示,你可以在Hugging Face的网站上进行体验。如果你想了解更多关于RWKV-5 World模型的工作原理,你可以关注BlinkDL_AI的Twitter,或者访问我们的官方网站。

    RWKV-5 World的未来发展

    RWKV-5 World模型的训练仍在进行中,我们正在不断上传最新的训练进度至Hugging Face。想象一下,当我们使用更多的数据进行训练时,RWKV-5 World模型将会发生什么呢?这将是一个令人兴奋的旅程,让我们一起期待RWKV-5 World模型的未来发展吧!

    如果你对RWKV-5 World模型有任何问题或者建议,欢迎在下面的评论区留言,我们会尽快回复你。同时,如果你对这个博客有任何建议或者意见,也请随时告诉我们,我们期待你的反馈。

  • 越级的语言模型:Hugging Face的Zephyr 7B Alpha

    你是否曾经想过,人工智能能否与我们进行自如的对话,就像人与人交谈一样自然?欢迎你来到这个博客,今天,我们将要深入探讨一款名为Zephyr 7B Alpha的语言模型,这款语言模型由Hugging Face公司开发,它正在积极推动人工智能语言处理的边界。

    Zephyr 7B Alpha:一款全新的语言模型

    Zephyr 7B Alpha是一款强大的7B参数的GPT类模型,这款模型的主要语言是英语。它是基于mistralai/Mistral-7B-v0.1模型进行微调的,使用了一系列公开可用的、合成的数据集进行训练。它是Zephyr系列的第一个模型,专门为了提供帮助而训练。

    Zephyr 7B Alpha的模型源

    Zephyr 7B Alpha的源代码位于GitHub的Hugging Face仓库中,你可以在此浏览和学习。同时,Hugging Face也提供了一个在线演示,你可以在那里直接体验Zephyr 7B Alpha的能力。

    Zephyr 7B Alpha的应用与局限性

    Zephyr 7B Alpha的初始微调是基于UltraChat数据集的一个变体,该数据集包含了由ChatGPT生成的各种合成对话。然后,我们进一步使用Hugging Face的DPOTrainer在openbmb/UltraFeedback数据集上对模型进行了对齐。因此,你可以使用这个模型进行聊天,并可以在我们的在线演示中测试其能力。

    虽然Zephyr 7B Alpha是一个强大的模型,但也存在一些局限性。由于它没有使用RLHF等技术进行人工偏好对齐,或者像ChatGPT那样使用环路过滤响应进行部署,所以在某些情况下,模型可能会产生问题的输出。

    Zephyr 7B Alpha的训练和评估数据

    在训练过程中,我们使用了一系列的超参数,包括学习率、训练批次大小、评估批次大小、随机种子、分布式类型、设备数量、总训练批次大小、总评估批次大小、优化器类型、学习率调度器类型和学习率调度器预热比例等。在评估集上,Zephyr 7B Alpha表现出了优秀的性能。

    总结

    Zephyr 7B Alpha是一款强大的语言模型,它不仅拥有强大的参数,同时也利用了一系列先进的训练技术。虽然它还存在一些局限性,但我们相信,随着技术的进步,Zephyr 7B Alpha将会进一步提升其性能,为我们提供更多的帮助。让我们一起期待Zephyr 7B Alpha的未来吧!

    如果你对Zephyr 7B Alpha有更多的问题,欢迎在下面的评论区留言,我们会尽快回复你。同时,如果你对这个博客有任何的建议或者意见,也请随时告诉我们,我们期待你的反馈。

  • Zephyr 7B Alpha:打破边界的人工智能语言模型

    无论你是AI研究者,还是对人工智能技术有所热爱的普通人,都一定听说过Hugging Face,这家以人工智能为核心,致力于开放研究和推广最前沿技术的公司。今天,我们将一起探索他们的新作品——Zephyr 7B Alpha模型,一款融合了最先进技术,且有着广泛应用场景的语言模型。我们会通过这篇文章深入理解其工作原理,应用限制,以及训练过程。让我们一起踏上这次知识的旅程吧。

    Zephyr 7B Alpha:一款全新的人工智能语言模型

    Zephyr是一系列训练有素、能够充当帮助助手的语言模型系列的开山之作,而Zephyr-7B-α则是这一系列的首个模型。这款模型是基于mistralai/Mistral-7B-v0.1进行微调的,同时也使用了公开可用的合成数据集进行训练。这种独特的训练方法使模型在MT Bench上的性能大幅提升,使其更具有帮助性。然而,这也意味着模型可能会在被提示时生成问题文本,因此只建议将其用于教育和研究目的。

    Zephyr-7B-α是使用了7B参数的GPT-like模型,主要使用英语进行交互,其开源许可为MIT。此外,你可以通过以下链接访问其源代码库和演示页面:

    应用场景与限制

    Zephyr-7B-α模型首先在UltraChat数据集的变体上进行了微调,该数据集包含了由ChatGPT生成的各种合成对话,然后使用了DPOTrainer对模型进行了进一步的校准。因此,这款模型可以用于聊天,并且你可以在我们的演示页面上测试其功能。

    然而,Zephyr-7B-α并没有像ChatGPT那样应用RLHF技术来根据人类偏好进行对齐,或者使用循环过滤的方式来部署,因此模型可能会生成问题输出(特别是在被提示时)。此外,基础模型(mistralai/Mistral-7B-v0.1)的训练所使用的语料库的大小和组成也不为人知,但可能包含了各种Web数据和技术源,比如书籍和代码。

    训练与评估

    Zephyr 7B Alpha在评估集上取得了以下结果:

    • Loss: 0.4605
    • Rewards/chosen: -0.5053
    • Rewards/rejected: -1.8752
    • Rewards/accuracies: 0.7812
    • Rewards/margins: 1.3699
    • Logps/rejected: -327.4286
    • Logps/chosen: -297.1040
    • Logits/rejected: -2.7153
    • Logits/chosen: -2.7447

    训练过程使用了以下超参数:

    • 学习率:5e-07
    • 训练批量大小:2
    • 评估批量大小:4
    • 随机种子:42
    • 分布式类型:多GPU## 结论

    Zephyr 7B Alpha是Hugging Face的一款强大的人工智能语言模型,它的诞生标志着我们在语言处理技术上取得了一次重大突破。虽然这款模型有一些已知的限制,如可能生成问题输出等,但通过不断的学习和改进,我们相信这些问题将会被解决,而模型的性能也将得到进一步的提升。对于那些寻求深入了解最新人工智能技术的读者来说,Zephyr 7B Alpha无疑提供了一个极好的研究对象。

    在这个日新月异的时代,每一次的突破,每一次的创新,都代表着我们对未知世界的一次更深入的探索。让我们一起期待Zephyr 7B Alpha在未来能够带来更多的惊喜!

  • 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感兴趣,可以在这里查阅更多信息。希望这个工具能对你的工作或学习有所帮助!

  • 使用Devilbox简化本地开发:Docker化的PHP堆栈

    Devilbox是一个现代化且高度可定制的PHP开发堆栈,基于Docker运行。它为所有主要操作系统提供可重现和相同的开发环境,无需任何配置。无论您是在开发LAMP还是MEAN堆栈,Devilbox都可以轻松切换和组合所需的版本以供本地开发使用。通过自动创建虚拟主机(vhost)、SSL证书和DNS记录,Devilbox支持无限数量的项目。在本文中,我们将探讨Devilbox的功能以及它如何简化本地开发。

    简单安装和设置:
    安装Devilbox非常简单。只需克隆Devilbox存储库并配置环境文件即可。Devilbox适用于包括Linux、macOS和Windows在内的所有主要操作系统。完成设置后,您可以使用一个命令启动所有容器。

    精确运行所需的内容:
    Devilbox提供了灵活性,可以选择所需的守护程序及其版本。您可以轻松配置Apache、Nginx、PHP、MySQL、MariaDB、Percona、PgSQL、Redis、Memcached、MongoDB等。这样,您可以在开发过程中准确模拟生产环境。

    附加服务和工具:
    除了默认堆栈之外,Devilbox还提供了其他一些可以轻松启用和启动的服务。这些服务包括Python(Flask)、Blackfire、ELK、MailHog、Ngrok、RabbitMQ、Solr、HAProxy、Varnish等等。您可以仅启动所需的容器,并在堆栈运行时添加或删除守护程序。

    邮件拦截和自动DNS:
    Devilbox包含一个内置的postfix邮件服务器,可以拦截所有发出的电子邮件,确保您在开发过程中不会意外发送真实的电子邮件。自动DNS功能会自动为每个项目提供正确的DNS记录,无需手动编辑主机文件。

    用户友好的内部网络和安全性:
    Devilbox配有一个用户友好的内部网络,提供有用的工具,如容器健康监控、DNS状态、可用的虚拟主机、电子邮件、数据库和有效的配置。安全性也是一个重要考虑因素,Devilbox使用官方Docker映像和自定义映像的混合方式。所有集成的容器都可以在GitHub上进行查看。

    始终更新和活跃的社区:
    Devilbox容器经常更新并推送到Docker Hub。您可以轻松拉取最新的映像或重新构建特定的容器以获取最新版本。Devilbox拥有活跃的社区,欢迎贡献、错误报告、功能请求和通过GitHub、论坛和聊天渠道的合作。

    结论:
    Devilbox通过提供可定制和可复现的基于Docker的PHP堆栈简化了本地开发。通过其简单的安装、选择守护程序和版本的灵活性、附加服务和工具、邮件拦截、自动DNS、用户友好的内部网络和活跃的社区支持,Devilbox简化了开发流程,提高了生产效率。无论您是初学者还是经验丰富的开发人员,Devilbox都是创建和管理开发环境的有价值工具。尝试一下,体验轻松的本地开发带来的好处。


    devilbox.org

  • 物理学是关于对称性的学科

    “物理学是关于对称性的学科”这句话源自于著名的理论物理学家埃米利奥·塞格雷(Emilio Segrè)。这句话的核心思想是指出对称性在物理定律中起着关键的作用,很多基础的物理定律都可以从某种对称性导出。

    下面是一些具体的例子:

    1. 转动对称性:一个物理系统如果对于空间中的旋转保持不变,那么它就具有转动对称性。这是力学中角动量守恒定律的来源。
    2. 平移对称性:如果一个物理系统对于空间中的平移保持不变,那么它具有平移对称性。这是力学中动量守恒定律的来源。类似地,对于时间的平移对称性导致了能量守恒定律。
    3. 镜像对称性(宇称对称性):如果一个物理系统对于空间中的反射(即,镜像)保持不变,那么它就具有镜像对称性。然而,在某些情况下,例如某些弱相互作用过程中,这种对称性会被破坏。
    4. CPT 对称性:CPT 对称性是量子场论中的一个基本对称性,它涉及到粒子与反粒子的转换(C,电荷共轭),宇宙与镜像宇宙的转换(P,宇称共轭)以及时间的正向与反向的转换(T,时间共轭)。我们认为所有的物理定律都满足 CPT 对称性。
    5. 规范对称性:量子力学中的许多基本理论,例如电动力学、弱相互作用以及强相互作用,都是基于规范对称性的。规范对称性是指一个物理系统对于某种局部的参数变换保持不变。例如在电动力学中,我们可以在每一点独立地改变电磁场的相位,物理定律保持不变。这种对称性导致了电磁相互作用中电荷守恒的原理。

    对称性为我们理解和描述物理现象提供了强大的工具。对称性的破坏也同样重要,它可以帮助我们理解许多复杂的物理过程,例如电弱对称性破缺可以解释为什么弱相互作用只能作用在很短的距离上。

  • Laradock:简化PHP开发环境的利器

    Laradock 是一个为 Docker 提供的全功能 PHP 开发环境,它支持多种常用服务的快速配置,为 PHP 开发者提供了一个便捷的开发环境。Laradock 的设计初衷是让开发者能够快速切换不同版本的 PHP、选择自己喜欢的数据库引擎,并且可以轻松运行各种常用的服务。

    Laradock 的特点如下:

    1. 轻松切换 PHP 版本:支持 PHP 8.1、8.0、7.4、7.3、7.2、7.1、5.6 等多个版本。
    2. 多种数据库引擎:支持 MySQL、Postgres、MariaDB 等常用数据库引擎。
    3. 自定义开发栈:支持 Memcached、HHVM、RabbitMQ 等各种常用服务。
    4. 每个软件运行在独立的容器中:PHP-FPM、NGINX、PHP-CLI 等软件都在自己的容器中运行。
    5. 容器定制化简单:可以通过简单地编辑 Dockerfile 来自定义任何容器。
    6. 基于官方基础镜像:所有镜像都是基于官方的基础镜像构建的,安全可靠。
    7. 预配置的 NGINX:预配置 NGINX 以托管根目录下的任何代码。
    8. 支持单个项目或多个项目:可以为每个项目单独使用 Laradock,也可以为所有项目共用一个 Laradock。
    9. 通过环境变量轻松安装/移除容器中的软件。
    10. 清晰、结构良好的 Dockerfile。
    11. 最新版本的 Docker Compose 文件。
    12. 所有内容可见且可编辑。
    13. 快速构建镜像。

    快速入门:
    让我们看看如何轻松设置我们的演示堆栈:PHP、NGINX、MySQL、Redis 和 Composer。

    1. 在你的 PHP 项目中克隆 Laradock:
    git clone https://github.com/Laradock/laradock.git
    1. 进入 laradock 文件夹,将 .env.example 重命名为 .env:
    cd laradock
    mv .env.example .env
    1. 运行容器:
    docker-compose up -d nginx mysql phpmyadmin redis workspace
    1. 打开项目的 .env 文件,并设置以下内容:
    DB_HOST=mysql
    REDIS_HOST=redis
    QUEUE_HOST=beanstalkd
    1. 在浏览器中访问 localhost:http://localhost。就是这样,尽情享受吧!

    Laradock 支持的服务:
    Laradock 遵循关注点分离原则,因此它将每个软件运行在自己的 Docker 容器中。你可以根据需要启动/关闭任意数量的实例,而不必担心配置的问题。要运行下面列表中的容器,请使用 docker-compose up -d {container-name} 命令。

    Web 服务器:

    • NGINX
    • Apache2
    • Caddy

    负载均衡器:

    • HAProxy
    • Traefik

    PHP 编译器:

    • PHP FPM
    • HHVM

    数据库管理系统:

    • MySQL
    • PostgreSQL
    • PostGIS
    • MariaDB
    • Percona
    • MSSQL
    • MongoDB
    • MongoDB Web UI
    • Neo4j
    • CouchDB
    • RethinkDB
    • Cassandra

    数据库管理应用:

    • PhpMyAdmin
    • Adminer
    • PgAdmin

    缓存引擎:

    • Redis
    • Redis Web UI
    • Redis Cluster
    • Memcached
    • Aerospike
    • Varnish

    消息代理:

    • RabbitMQ
    • RabbitMQ Admin Console
    • Beanstalkd
    • Beanstalkd Admin Console
      Eclipse Mosquitto

    laradock

    laradock/README-zh.md at master · laradock/laradock (github.com)

  • win11下启动服务报告没有权限监听端口

    [Nest] 26516 – 2023/10/05 13:07:06 ERROR [NestApplication] Error: listen EACCES: permission denied 0.0.0.0:3000 +2ms
    Error: listen EACCES: permission denied 0.0.0.0:3000

    其实不是端口的问题而是 winnat,重启就好:

    net stop winnat

    net start winnat

    效果如下图:

  • LMDeploy: 你的AI模型部署和服务的全方位解决方案

    欢迎来到LMDeploy的世界!LMDeploy是由MMDeploy和MMRazor团队联合打造的一款全面的工具箱,旨在帮助你轻松、高效地实现LLM任务的轻量化、部署和服务。

    高效推理引擎 TurboMind

    首先,让我为你介绍一下我们的高效推理引擎TurboMind。它是基于FasterTransformer构建的,能以极其高效的方式执行 InternLM、LLaMA、vicuna 等模型在NVIDIA GPU上的推理。想象一下,一个强大且高效的工具正在为你处理复杂的AI计算,这就是TurboMind为你提供的!

    交互推理方式

    我们知道,在多轮对话中,如果每次都处理整个对话历史,会消耗大量的计算资源。因此,LMDeploy引入了一种交互推理方式。它通过缓存对话过程中attention的k/v值,记住对话历史,避免了重复处理历史会话,提升了推理效率。

    多GPU部署和量化

    LMDeploy还提供了全面的模型部署和量化支持。无论你的AI模型规模大小,我们都已经完成了验证。这意味着,你可以更自由地选择硬件资源,无需担心模型的部署和量化问题。

    persistent batch推理

    最后,我们还有一个优化模型执行效率的神秘武器,那就是persistent batch推理。这个功能可以进一步优化你的模型,让你的AI应用运行得更快、更流畅。

    LMDeploy就像一个多功能的瑞士军刀,为你的AI模型提供全方位的支持。从高效推理引擎到灵活的模型部署,再到持续优化的推理方式,我们始终在努力为你提供最佳的AI部署和服务解决方案。让我们一起,开启AI的未来!

  • 打开数学大门的神奇模型——阿贝尔

    大家好,今天我想和大家分享一项最新的研究成果。这是由上海交通大学生成式人工智能研究组(GAIR)提出的一款名为“阿贝尔”的大型语言模型,专门用于解决数学问题。

    首先,让我们来看看为什么我们需要这样的模型。在当前的大数据时代,人工智能已经成为了我们生活中不可或缺的一部分。然而,尽管人工智能在文本理解和知识理解等任务上表现出色,但在复杂数学推理计算、物理建模、科学发现等领域,人工智能的研究却远未达到我们的期望。这就是为什么GAIR团队决定研发阿贝尔模型,以帮助我们更好地理解和解决数学问题。

    那么,阿贝尔模型是如何工作的呢?在阿贝尔模型中,研究者们结合了两种先前的数学解决方法,即CoT(思维链)和PoT(思维程序)。CoT方法通过一步步的自然语言描述来解决问题,但在处理复杂的数学或算法推理过程时,可能会遇到困难。而PoT方法则是通过编程的方式来解决问题,尽管这种方法在处理更抽象的推理场景时可能会遇到困难,但它利用Python解释器来大幅简化数学求解过程。

    为了充分利用这两种方法的优点,研究团队创建了一个新的数学混合指令微调数据集MathInstruct,它广泛覆盖了不同的数学领域和复杂程度,并将CoT和PoT原理结合到一起。然后,他们使用这个数据集对模型进行训练,得到了一系列不同大小的阿贝尔模型。

    研究者们使用了一系列的数据集来对阿贝尔模型进行评估,结果显示,相比于之前的方法,阿贝尔模型能更好地处理领域外的数据集,并能大幅提升开源LLM的数学推理能力。

    阿贝尔模型的出现,无疑为我们解决数学问题提供了一种新的可能。无论你是在日常生活中遇到的购物预算问题,还是在工作中遇到的复杂金融投资问题,阿贝尔模型都能为你提供有效的解决方案。这个新的数学模型,不仅能够应对各种类型的数学问题,还能够在不同的数据集中都取得很好的效果,表现出了强大的泛化能力。这对于我们在日常生活中解决各种数学问题,甚至在更高层次的金融投资、科学研究等领域,都有着巨大的潜力和价值。

    你可能会问,我能在哪里找到这个神奇的模型呢?别担心,阿贝尔模型的代码已经在GitHub上开源,研究团队也在Hugging Face发布了训练好的不同大小的模型,供大家免费使用。

    参考链接:
    论文链接
    代码链接
    数据集与模型链接

  • 一种新型数学问题解决模型——MAmmoTH

    在我们的日常生活中,数学问题无处不在,从简单的购物预算,到复杂的金融投资计算,都需要我们运用数学来解决。然而,对于许多人来说,数学问题可能并不是那么容易解决。那么,有没有一种方式,可以让计算机帮助我们解决这些问题呢?

    最近,来自滑铁卢大学和俄亥俄州立大学等机构的研究团队提出了一种名为MAmmoTH的大型语言模型(LLM),专门针对解决数学问题。这个新模型充分利用了两个先前的数学解决方法,即CoT(思维链)和PoT(思维程序)。

    在CoT方法中,问题通过一步步的自然语言描述来解决,这个方法的优点是能覆盖大多数数学科目,但在计算精度和复杂的数学或算法推理过程方面存在困难。而PoT方法则是通过编程的方式来解决问题,利用Python解释器来简化数学求解过程,但PoT在处理更抽象的推理场景时可能会遇到困难。

    为了充分利用这两种方法的优点,研究团队创建了一个新的数学混合指令微调数据集MathInstruct,它广泛覆盖了不同的数学领域和复杂程度,并将CoT和PoT原理结合到一起。

    为了测试这个新的数学模型,研究者们使用了一系列的数据集,包括GSM8K、MATH、AQuA-RAT、NumGLUE等,对模型进行了评估。结果显示,相比于之前的方法,MAmmoTH模型能更好地处理领域外的数据集,并能大幅提升开源LLM的数学推理能力。

    这个新的数学模型MAmmoTH,不仅能够应对各种类型的数学问题,还能够在不同的数据集中都取得很好的效果,表现出了强大的泛化能力。这对于我们在日常生活中解决各种数学问题,甚至在更高层次的金融投资、科学研究等领域,都有着巨大的潜力和价值。

    这项研究的代码已经在GitHub上开源,研究团队也在Hugging Face发布了训练好的不同大小的模型,供大家免费使用。如果你对数学问题感到头疼,或者你是一个对AI有着极高热情的研究者,那么这个新的数学模型MAmmoTH可能正是你需要的工具。

    参考资料:
    论文:https://arxiv.org/pdf/2309.05653.pdf
    代码:https://github.com/TIGER-AI-Lab/MAmmoTH
    数据集与模型:https://huggingface.co/datasets/TIGER-Lab/MathInstruct

  • 书生·浦语 大语言模型确实很牛!

    书生·浦语 目前开源的 20B模型性能超过了同参数规模竞争者。

    更好的一点是,书生·浦语开源了训练和部署工具链。

    Demo:书生·浦语-对话-20B · 模型库 (modelscope.cn)

    相比其它竞争者,这个模型的背景也更加有实力,可持续性会更好。

    InternLM/README-zh-Hans.md at main · InternLM/InternLM (github.com)

  • Duplicator – WordPress迁移和备份插件

    Duplicator复制器是可用的最强大的迁移器。它使您能够:

    • 在域或主机之间移动、迁移或克隆 WordPress 网站,无需停机
    • 将实时站点下拉到本地主机进行开发
    • 将WordPress网站从一个主机转移到另一个主机
    • 手动备份WordPress网站或网站的一部分
    • 将活动站点复制到暂存区域,反之亦然
    • 捆绑整个WordPress网站,以便于重用或分发
    • 执行完整的WordPress迁移,而无需为混乱的导入/导出SQL脚本而苦恼
  • 从SD绘图开源项目的竞争看webui的构建

    stable-diffusion-webui Fooocus ComfyUI 这三个主流的SD绘图webui正在以不同的设计思路竞争。

    迭代速度显然起到的决定性作用。

    SD-webui和Fooocus采用了gradio来构建UI,迭代快捷,维护成本低。

    而ComfyUI采用复杂的nodejs技术栈来构建UI,虽然架构上更加先进,然而缺失去了快速添加功能的优势。

    从设计哲学上看,Fooocus聚焦在绘图本身的思路最为简洁和易用。

    这也是符合LLM时代的大趋势,即,WebUI变成LUI,语言UI。

    或者说,由于自然语言可以编程了,以prompt的形势,自然也就解放了很多传统UI禁锢的功能。ComfyUI试图以 计算图的方式来 把底层逻辑以Graph形式编程,这反而增加了复杂性,一旦复杂度上去,反而不如直接编码(Python)简单。

  • vLLM 加速LLM推理24倍

    UC伯克利开源了 vLLM 这个大语言模型推理和服务引擎。

    主要亮点包括:

    1. 使用新的PagedAttention注意力算法,可以有效管理注意力键值缓存,节省内存开销。
    2. 性能明显优于HuggingFace Transformers, 吞吐量提升24倍。
    3. 能够在GPU资源有限的情况下提供LLM服务。
    4. 能支持各种LLM模型架构,如GPT系列、LLaMA等。
    5. vLLM已经被用于Chatbot Arena和Vicuna LM模型的服务后端,提升吞吐量30倍。

    主要技术亮点在于PagedAttention算法。它通过在非连续内存空间中存储注意力键值,有效管理内存。

    使用vLLM可以很容易完成离线推理和在线部署,提供类似OpenAI API的服务。项目对于降低LLM服务的成本和难度具有重要意义,有利于更多机构和团队部署自己的LLM服务。vLLM是一个值得关注的开源项目,解决了LLM服务效率和可伸缩性方面的重大挑战。

  • 平均帧率稳定,但是掉帧的问题

    解决方案:

    • 显示器帧率配置了动态帧率?可以尝试关闭;
    • 低延迟模式打开没?可以在Nvidia显卡控制台打开reflex尝试下;gsync也可以关闭试一下;
    • 大小核心架构的CPU?可以用process lasso 来设置相关进程只使用大核心;
    • 内存频率设置太高?降低到默认频率试试;
    • 鼠标的回报速率是不是太高?可以设置到600fps;
    • 风扇是不是太脏了?散热问题?
    • 核心显卡到驱动是不是没有更新?有独立显卡时,别忘记更新核心显卡的驱动;