如果你刚接触AI开发,想找个简单好上手的模型来练手,那Phi-3-Mini-128K绝对是个不错的选择。它体积小,对硬件要求不高,但能力却不弱,尤其适合用来学习大模型的基础调用和开发流程。
今天这篇教程,就是带你从零开始,在星图GPU平台上,用最简单的方式把Phi-3-Mini-128K跑起来,并配置好一个能直接写代码的Python环境。整个过程就像搭积木,跟着步骤走,10分钟左右你就能看到模型“开口说话”了。
第一步,我们需要一个能运行模型的地方。对于初学者,我强烈推荐使用集成了环境和资源的云平台,能省去大量配置的麻烦。这里我们以星图GPU平台为例,因为它提供了预置好的AI镜像,开箱即用。
1.1 创建实例与选择镜像
登录星图GPU平台后,进入控制台,找到创建计算实例的入口。在创建过程中,最关键的一步是选择“镜像”。
你需要在镜像市场或列表里,搜索包含 Phi-3-Mini 或类似名称的镜像。平台通常会提供一些预装了模型和基础环境的镜像,比如名字里带有“Phi-3-Mini-128K-Inference”或“LLM-Base-Env”的。选择这类镜像,意味着系统已经帮你把模型文件、Python环境甚至一些常用的库都准备好了,你只需要启动它就行。
选择镜像时,留意一下它的简要描述,确认它支持Python和基本的AI推理框架(如Transformers库)。选好之后,根据你的需要配置CPU、内存和GPU资源(对于Phi-3-Mini,入门级GPU如T4就完全足够),然后点击创建。等待几分钟,实例就会启动完成。
1.2 连接到你的开发环境
实例启动成功后,平台会提供几种连接方式,常见的是 JupyterLab 或 Web Terminal。
- JupyterLab:这是一个网页版的交互式开发环境,特别适合新手。你可以在浏览器里直接创建笔记本(Notebook),在里面写Python代码、运行并立刻看到结果。界面分为代码单元格和输出区域,非常直观。
- Web Terminal:这相当于一个在浏览器里打开的Linux命令行窗口。如果你更习惯用命令行操作,或者需要执行一些安装命令,就用这个。
对于本教程,使用 JupyterLab 会更方便。点击对应的链接,你的开发环境就在浏览器里打开了。
虽然我们选了预置镜像,但为了确保万无一失,并且让你了解环境构成,我们快速检查并安装一下必要的工具。
2.1 确认Python环境
在JupyterLab中,新建一个代码单元格,输入以下命令并运行:
import sys print(f“Python版本: {sys.version}”)
运行后,你会看到类似 Python 3.10.12 的输出。只要Python版本是3.8或以上,就符合要求。Phi-3-Mini对Python版本比较友好,主流版本都能很好支持。
2.2 安装核心Python库
大模型推理最常用的Python库是 transformers,这是Hugging Face出品的神器,能让我们用几行代码就加载和运行各种模型。另外,我们可能还需要 torch(深度学习框架)和 accelerate(用于优化推理)。
在JupyterLab的新单元格里,执行下面的安装命令。如果镜像里已经预装了,系统会提示已满足要求,这很正常。
!pip install transformers torch accelerate -q
命令里的 -q 参数是让安装过程安静些,少输出些日志信息。执行完,如果没有报红字错误,就说明安装成功了。
环境就绪,现在进入最核心的环节:让模型工作。整个过程可以浓缩为三个步骤。
3.1 第一步:加载模型与分词器
在JupyterLab中新建一个代码单元格,我们将写下第一段“召唤”模型的代码。
from transformers import AutoModelForCausalLM, AutoTokenizer # 指定模型名称,如果镜像预置了模型,路径可能是本地路径,否则会从网络下载 model_name = “microsoft/Phi-3-mini-128k-instruct” # 加载分词器(负责把文字转换成模型能懂的数字) tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) # 加载模型本身 model = AutoModelForCausalLM.from_pretrained( model_name, device_map=“auto”, # 自动选择GPU或CPU torch_dtype=“auto”, # 自动选择数据类型 trust_remote_code=True ) print(“模型与分词器加载完毕!”)
运行这段代码。如果是第一次从网络下载这个模型,需要等待一段时间(模型大约8GB)。如果镜像已预置,加载会非常快。看到“加载完毕”的提示,就成功了。
3.2 第二步:构建对话提示
大模型,尤其是Phi-3-Mini这种指令微调过的模型,喜欢结构清晰的输入。我们需要按照一定的“对话模板”来组织我们的问题。
# 这是我们想问模型的问题 user_query = “用Python写一个函数,计算斐波那契数列的第n项。” # 使用模型对应的对话模板来格式化输入 messages = [ {“role”: “user”, “content”: user_query} ] # 分词器会应用模板,将对话格式转换为模型期待的文本格式 input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) # 将文本转换为模型输入所需的张量(tensor) inputs = tokenizer(input_text, return_tensors=“pt”).to(model.device)
这段代码做了两件事:一是把你的问题包装成模型喜欢的“对话”格式;二是把文字转换成一堆数字(Token),这样模型才能处理。
3.3 第三步:生成回答并解码
现在,把处理好的输入“喂”给模型,让它开始思考并生成回答。
# 设置生成参数,控制模型如何“创作” generate_ids = model.generate( inputs, max_new_tokens=512, # 生成回答的最大长度 temperature=0.7, # 控制随机性:越低越确定,越高越有创意 do_sample=True, # 启用采样,而不是总选最可能的词 ) # 模型输出的是数字ID,我们需要用分词器转换回人类可读的文字 output_text = tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0] # 打印出完整的对话(包含我们的问题和模型的回答) print(output_text)
运行这最后一段代码。稍等片刻,你就能在输出区域看到模型生成的Python代码了!它可能会返回一个使用递归或循环来计算斐波那契数列的函数。
成功运行第一个例子后,你可以尽情尝试了。
4.1 换个问题问问
只需修改上面第二步中的 user_query 变量内容,重新运行第三步的生成代码即可。比如:
“给我讲一个关于人工智能的短故事。”“解释一下什么是机器学习。”“把‘Hello, world!’翻译成法语。”
4.2 你可能遇到的问题
- 内存不足错误:如果遇到
CUDA out of memory,可以尝试在model.generate中减少max_new_tokens的值,或者在加载模型时设置load_in_4bit=True(需要安装bitsandbytes库)来量化模型,减少显存占用。 - 模型加载慢或下载失败:如果镜像没有预置模型,首次下载会较慢。确保网络连接稳定。也可以咨询平台方是否有更快的模型源。
- 生成的回答不相关或胡言乱语:调整
temperature参数。调低(如0.3)会让回答更聚焦、确定;调高(如0.9)会让回答更发散、有创意。对于代码生成任务,通常调低一些效果更好。
走完这三步,你已经成功在云端部署了Phi-3-Mini-128K模型,并完成了第一次交互。整个过程的核心就是:选择一个好用的预置环境、安装必要的工具、然后按照“加载-输入-生成”的流程来调用模型。
对于Python入门开发者来说,把这个流程跑通,意义远大于模型本身回答了什么问题。你熟悉了如何在云平台上操作,了解了与大模型交互的基本代码结构,也看到了一个AI应用从环境到输出的完整链条。接下来,你可以基于这个基础,去探索更复杂的提示词工程,尝试让模型完成更具体的任务,或者学习如何将这段代码封装成一个简单的Web应用。动手去改、去试,是最好的学习方式。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/271415.html