介绍Phi-3:微软重新定义小型语言模型(SLM)的可能性

2024-04-25 03:52

本文主要是介绍介绍Phi-3:微软重新定义小型语言模型(SLM)的可能性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

微软最近推出了名为Phi-3的开放式AI模型家族,这是一系列最具性价比的小型语言模型(SLM)。Phi-3模型在各种语言、推理、编码和数学基准测试中的表现超越了同等大小甚至更大型号的模型。此次发布扩展了为客户提供高质量模型的选择,使他们在构建和开发生成式AI应用程序时有更多的实用选择。

从今天开始,3.8亿参数的Phi-3-mini模型已在微软Azure AI Studio、Hugging Face和Ollama平台上提供。https://huggingface.co/collections/microsoft/phi-3-6626e15e9585a200d2d761e3

Phi-3-mini提供两种上下文长度变体——4K和128K令牌。它是首个支持高达128K令牌上下文窗口的同类模型,且对质量的影响很小。它经过指令调优,训练以遵循反映人们正常沟通的各种指令类型,确保模型开箱即用。它在Azure AI上可用,利用部署-评估-微调工具链,并在Ollama上可供开发者在本地笔记本电脑上运行。它针对ONNX运行时进行了优化,支持Windows DirectML,并具有跨平台支持,包括图形处理单元(GPU)、CPU甚至移动硬件。它还作为NVIDIA NIM微服务提供,带有标准API接口,可以在任何地方部署,并已针对NVIDIA GPU进行了优化。

在接下来的几周内,将向Phi-3家族添加更多模型,为客户在质量-成本曲线上提供更多灵活性。Phi-3-small(70亿)和Phi-3-medium(140亿)将很快在Azure AI模型目录和其他模型园中提供。

微软持续提供在质量-成本曲线上最佳的模型,今天的Phi-3发布扩大了具有最先进小型模型的选择。Phi-3模型显著超越了同等大小和更大大小的语言模型在关键基准测试上的表现。例如,Phi-3-mini的表现优于其两倍大的模型,而Phi-3-small和Phi-3-medium则超越了包括GPT-3.5T在内的更大型号。

所有报告的数字都是使用相同的流程产生的,以确保数字之间的可比性。因此,由于评估方法的轻微差异,这些数字可能与其他公布的数字不同。我们的技术论文提供了更多关于基准测试的详细信息。

Phi-3模型按照微软的负责任AI标准开发,该标准是一套公司范围内基于责任、透明度、公平性、可靠性与安全、隐私与安全以及包容性的六大原则的要求。Phi-3模型经过严格的安全测量和评估、红队测试、敏感用途审查以及遵守安全指南,以帮助确保这些模型按照微软的标准和最佳实践负责任地开发、测试和部署。

微软利用Azure AI推出助手产品并使客户能够通过生成式AI转型其业务,这突显了对不同大小模型的需求。小型语言模型,如Phi-3,特别适用于资源受限环境、响应时间要求快的场景以及成本受限的用例。

Phi-3-mini特别适用于设备上使用,尤其是在与ONNX运行时进一步优化后,可以跨平台使用。Phi-3模型的较小大小也使得微调或定制更加容易和经济。此外,它们较低的计算需求使得它们是一个成本更低、延迟更低的选择。较长的上下文窗口使得它们能够接收和推理大量文本内容——文档、网页、代码等。Phi-3-mini展示了强大的推理和逻辑能力,使其成为分析任务的理想选择。

客户已经在使用Phi-3构建解决方案。例如,在农业领域,Phi-3已经展现了其价值,尤其是在互联网可能不易获得的地方。如此强大的小型模型连同微软的助手模板,可在需要时为农民提供,且运行成本更低,使AI技术更加普及。

印度的领先商业集团ITC正在利用Phi-3作为其与微软在Krishi Mitra农民应用助手上持续合作的一部分。ITCMAARS技术总监Saif Naik表示:“我们与Krishi Mitra助手的目标是在保持大型语言模型的准确性的同时提高效率。我们很高兴能与微软合作使用经过精细调整的Phi-3来实现我们的目标——效率和准确性!”

这篇关于介绍Phi-3:微软重新定义小型语言模型(SLM)的可能性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir