首页 > 其他分享 >微软推出Phi-4生成式AI模型 改进数学能力与训练数据质量

微软推出Phi-4生成式AI模型 改进数学能力与训练数据质量

时间:2024-12-15 12:01:23浏览次数:5  
标签:Phi torch 微软 AI 模型 生成式 2x

微软宣布,其Phi系列生成式AI模型迎来了新成员——Phi-4。与之前的版本相比,Phi-4在多个方面有所改进,尤其在数学问题的解决能力上表现突出,这得益于训练数据质量的提升。

截至周四晚上,Phi-4的访问权限相对有限,仅在微软最新推出的Azure AI Foundry开发平台上可用,且仅限于微软研究许可协议下的研究用途。

在这里插入图片描述
图源备注:图片由AI生成,图片授权服务商Midjourney

Phi-4是微软推出的最新小型语言模型,拥有140亿个参数。与其他小型模型如GPT-4o mini、Gemini2.0Flash和Claude3.5Haiku相当,这些小型模型通常具有更快的运行速度和更低的成本,而在过去几年中,小型语言模型的性能也在持续提升。

微软将Phi-4的性能提升归因于使用了“高质量合成数据集”以及来自人类生成内容的高质量数据集,并进行了未公开的训练后改进。

如今,许多人工智能实验室正在密切关注合成数据和后训练在提升模型性能方面的潜力。Scale AI的首席执行官Alexandr Wang在周四的推文中提到:“我们已经到达了训练前数据瓶颈。”这一说法也证实了近期关于该话题的一些报告。

此外,值得注意的是,Phi-4是微软AI副总裁Sébastien Bubeck离职后推出的首款Phi系列模型。Bubeck在微软AI领域扮演了重要角色,并且是Phi模型开发的关键人物。Bubeck于10月离开微软,加入了OpenAI。

该模型尚未在HF上发布,官方模型发布在https://ai.azure.com/explore/models/Phi-4/

追加 Colab 运行

!pip install -U bitsandbytes transformers accelerate

由于模型是14B参数,我只能用4bit运行

import torch 
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline, BitsAndBytesConfig

# torch.random.manual_seed(0) 

nf4_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
)

model = AutoModelForCausalLM.from_pretrained( 
    "NyxKrage/Microsoft_Phi-4",  
    # device_map="cuda",  
    # torch_dtype="auto",  
    # trust_remote_code=True,  
    quantization_config=nf4_config,
) 

tokenizer = AutoTokenizer.from_pretrained("NyxKrage/Microsoft_Phi-4") 

messages = [ 
    {"role": "system", "content": "You are a helpful AI assistant."}, 
    {"role": "user", "content": "Can you provide ways to eat combinations of bananas and dragonfruits?"}, 
    {"role": "assistant", "content": "Sure! Here are some ways to eat bananas and dragonfruits together: 1. Banana and dragonfruit smoothie: Blend bananas and dragonfruits together with some milk and honey. 2. Banana and dragonfruit salad: Mix sliced bananas and dragonfruits together with some lemon juice and honey."}, 
    {"role": "user", "content": "What about solving an 2x + 3 = 7 equation?"}, 
] 

pipe = pipeline( 
    "text-generation", 
    model=model, 
    tokenizer=tokenizer, 
) 

generation_args = { 
    "max_new_tokens": 500, 
    "return_full_text": False, 
    "temperature": 0.0, 
    "do_sample": False, 
} 

output = pipe(messages, **generation_args) 
print(output[0]['generated_text'])

Device set to use cuda:0
/usr/local/lib/python3.10/dist-packages/transformers/generation/configuration_utils.py:628: UserWarning: `do_sample` is set to `False`. However, `temperature` is set to `0.0` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `temperature`.
  warnings.warn(
/usr/local/lib/python3.10/dist-packages/bitsandbytes/nn/modules.py:451: UserWarning: Input type into Linear4bit is torch.float16, but bnb_4bit_compute_dtype=torch.float32 (default). This will lead to slow inference or training speed.
  warnings.warn(
To solve the equation \(2x + 3 = 7\), follow these steps:

1. **Subtract 3 from both sides** to isolate the term with \(x\):
   \[
   2x + 3 - 3 = 7 - 3
   \]
   \[
   2x = 4
   \]

2. **Divide both sides by 2** to solve for \(x\):
   \[
   \frac{2x}{2} = \frac{4}{2}
   \]
   \[
   x = 2
   \]

So, the solution is \(x = 2\).

标签:Phi,torch,微软,AI,模型,生成式,2x
From: https://blog.csdn.net/weixin_41446370/article/details/144481409

相关文章

  • Delphi:含义、用途、过程和应用
    ​什么是德尔菲法?德尔菲法是一种用于预测和决策的结构化通信方法,涉及专家小组。该过程包括多轮问卷,专家提供匿名回答。这些回复被汇总并与小组共享,允许根据集体意见进行调整以达成共识。从选择专家开始,该方法通过多轮评论进行,直到达成共识。虽然它提供了一些优势,例如无......
  • delphi TFixedQueue 静态固定元素数队列,手工实现;
    unitzx.core.FixedQueue;interfaceusesSystem.SysUtils,System.Generics.Collections;typeTFixedQueue<T>=classprivate///<summary>///一个动态数组,用于存储队列元素,动态数组会自动管理内存///</summary>FItems:TArray<T>;......
  • Redis国产替换Tair开源数据库002_编译安装Tair_配置并启动Tair_配置configserver_data
    然后上一节已经安装好了依赖.接下来就可以进行编译安装Tair了.可以看到上面是一些命令,然后首先去下载Tair的源码gitclonehttps://gitee.com/mirrors/Tair.git这个是源码的官网可以去看看,这Tair他们的文档可是不那么的全啊.https://help.aliyun.com/zh/redis/user......
  • marscode | AI如何成为普通开发者的第一生产力
    前言白驹过隙,而立之年,毕业时扬言立于技术之巅的梦想觉得越来越远。以前的学习是针对于某一方向/语言不同知识点的学习,能想象到的就是,成为一个集前后端开发于一体的开发者。那时候我对AI的认知,仅仅是类似基于数据深度学习、回归预测以及NLP之类的概念,再加上后来的TensorFlo......
  • 什么是GraphicLayer?
    在前端开发中,GraphicLayer是一个专门用于高性能渲染和展示具有空间参考要素的图层。以下是对GraphicLayer的详细解释:一、定义与功能GraphicLayer是一种图层类型,它允许开发者在地图上叠加自定义的图形元素。这些图形元素通常包括点、线、多边形等几何形状,并且可以通过不同的样式(......
  • 使用Javelin AI Gateway简化你的大语言模型开发
    引言在当今快速发展的技术世界中,大语言模型(LLM)被广泛应用于各种AI应用中。然而,随着各种LLM提供商的涌现,如何高效地管理和集成这些模型成为了开发者面临的重大挑战。JavelinAIGateway是一个企业级API网关服务,专门为AI应用而设计。它能够简化与多个大语言模型提供商(如OpenA......
  • Implementing Memory in LLM Applications Using LangChain
    ImplementingMemoryinLLMApplicationsUsingLangChainhttps://www.codecademy.com/article/implementing-memory-in-llm-applications-using-lang-chain老版本https://python.langchain.com/v0.1/docs/modules/memory/types/buffer/ HowtomigratetoLangGraphmemor......
  • Linux挂载机械硬盘raid操作说明
    1.查看磁盘的信息,确认磁盘名一般可以根据磁盘的大小来确认是那个,如图所示,是/dev/md127lsblk 2.将磁盘的文件类型转化为exts,注意该操作将删除该磁盘所有的数据!!!!mkfs.ext4/dev/md127 3.挂在目录,如果不存在先创建目录,这里为/source挂在完成后使用df-h查看挂载信......
  • Electron + React + Monaco Editor + AI 本地代码编辑器实现分析
    1.项目概述1.1核心技术栈前端框架:React编辑器引擎:MonacoEditor桌面框架:ElectronAI模型:Ollama(本地部署)Qwen(通义千问)1.2主要特性本地化AI编程助手多语言代码编辑实时代码补全智能文档生成2.AI模型集成2.1模型对比特性OllamaQwen部署方式纯本地本地/云端......
  • 近期做到的有点绕的RSA题目详解(重点:e和phi不互素)
    标题简述:内容是第一遍学,不扎实,遇到一些题目还是无法下手或者有思路有误等等ctfshow1.funnyrsa1e1=14606334023791426p1=1210097727354602353649406229894338076192119260154940874536747476143312950400636797224222982865494936981506906949651061038223153784619701......