news 2026/9/11 3:50:41

生成式AI入门第19课:小型语言模型(SLM)与微软 Phi-3/3.5 家族实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
生成式AI入门第19课:小型语言模型(SLM)与微软 Phi-3/3.5 家族实战指南

生成式AI入门第19课:小型语言模型(SLM)与微软 Phi-3/3.5 家族实战指南

【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners

本篇文章取材于 generative-ai-for-beginners 课程仓库中的第 19 课(19-slm/README.md),系统讲解小型语言模型(SLM)的核心概念、与大型语言模型(LLM)的差异,并围绕微软 Phi-3 / Phi-3.5 家族展开从云端 API 到本地部署的完整推理实战。读完本文,你将掌握 SLM 的选型思路,并能通过 GitHub Models / Foundry、Azure AI Studio、NVIDIA NIM、Hugging Face Transformers、Ollama 与 ONNX Runtime GenAI 等六种主流途径,实际跑通 Instruct、Vision、MoE 三类模型的推理调用。

什么是小型语言模型(SLM)

生成式人工智能(Generative AI)是一个专注于让系统生成全新内容的人工智能领域,其产物可以是文本、图片、音乐,甚至是完整的虚拟环境。而在语言模型这个最引人注目的分支中,小型语言模型(Small Language Model, SLM)是相对于大型语言模型(LLM)的一类"缩小型"变体——它复用了 LLM 的大部分架构原理与训练技术,却把计算足迹(computational footprint)大幅压缩。

SLM 是语言模型的子集,专门用于生成接近人类水平的文本。与 GPT-4 这类庞然大物相比,SLM 更加紧凑、高效,非常适合计算资源受限的场景。尽管体积更小,它们仍然能够胜任多种自然语言处理(NLP)任务:

  • 文本生成:生成连贯且上下文相关的句子或段落;
  • 文本补全:根据给定提示预测并补全后续内容;
  • 翻译:将文本从一种语言转换为另一种语言;
  • 摘要:把长文本压缩成更易消化的简短总结。

当然,这一切以一定程度的性能或理解深度折中为代价。SLM 通常通过对 LLM 进行压缩或蒸馏(distill)构建而来,目标是在保留原始模型大部分功能与语言能力的同时,降低整体复杂度,使内存占用与计算需求都更为经济。

SLM 是如何工作的?

SLM 的训练过程与 LLM 一脉相承,都在海量文本数据上学习语言的模式与结构,从而生成语法正确、上下文恰当的文本。完整训练流程包含四个阶段:

  1. 数据收集(Data Collection):从多种来源汇集大规模文本数据集;
  2. 预处理(Preprocessing):清洗并组织数据,使其适合训练;
  3. 训练(Training):利用机器学习算法教会模型理解并生成文本;
  4. 微调(Fine-Tuning):针对特定任务调整模型,提升下游表现。

SLM 的发展与"资源受限环境部署"的需求高度契合——在移动设备、边缘计算平台等场景下,完整规模的 LLM 往往因资源需求过大而不可行。SLM 通过聚焦效率,在性能与可及性之间取得平衡,从而让 AI 应用能够覆盖更广泛的领域。

SLM 与 LLM 的五大核心差异

LLM 与 SLM 都建立在概率机器学习的基础原理之上,在架构设计、训练方法、数据生成流程与评估技术上遵循相近思路。但以下五个关键因素将二者显著区分开来:

维度LLMSLM
模型规模参数可达万亿级(如 GPT-4 约 1.76 万亿参数)通常为数十亿参数(如 Mistral 7B 约 70 亿)
理解能力追求类人智能,跨多领域表现良好,通用性与适应性更强面向特定领域优化,高度专精但泛化理解可能受限
计算资源训练与部署极其消耗资源,往往需要大规模 GPU 集群参数更少,可在具备中等 GPU 能力的本地机器上训练与运行
偏见倾向依赖互联网原始数据,易引入代表性偏差、错误标注与语言偏见数据集更受约束、更聚焦领域,天然对偏见不敏感(但并非免疫)
推理速度体积大、复杂度高,常需大量并行计算资源,并发用户多时响应变慢体积小,可在本地硬件上高效推理,无需高强度并行处理

以架构为例:ChatGPT 采用编码器-解码器框架内的自注意力(self-attention)机制,而 Mistral 7B 使用滑动窗口注意力(sliding window attention),使得纯解码器(decoder-only)模型的训练更加高效——这种架构差异对模型的复杂度与性能影响深远。总而言之,LLM 更全能但更耗资源,SLM 则以更低的计算需求换取领域化的高效。

SLM 的典型应用场景

  • 聊天机器人(Chatbot):提供客户支持,并以对话方式与用户互动;
  • 内容创作(Content Creation):辅助写作者生成灵感,甚至草拟整篇文章;
  • 教育(Education):帮助学生完成写作作业或学习新语言;
  • 无障碍(Accessibility):为残障人士构建工具,如文本转语音系统。

注:本课程以Microsoft Phi-3 / Phi-3.5作为 SLM 的讲解范例,下文所有实操均围绕该模型家族展开。

认识 Phi-3 / Phi-3.5 模型家族

Phi-3 / Phi-3.5 家族主要覆盖三类应用场景:文本(Instruct)视觉(Vision)Agent / 混合专家(MoE)。课程文档将其形象地概括为:Instruct 模型是 Phi 的"理解力",而 Vision 则给了 Phi 一双"看懂世界的眼睛"。

Phi-3 / Phi-3.5 Instruct(文本方向)

主要面向文本生成、对话补全与内容信息抽取等任务。

  • Phi-3-mini:3.8B 参数的语言模型,可在 Microsoft Foundry、Hugging Face 与 Ollama 上获取。根据课程文档引用的基准数字(数值越高越好),Phi-3 模型在关键基准上显著优于同尺寸甚至更大尺寸的语言模型:Phi-3-mini 超越两倍于其体量的模型;
  • Phi-3-small / medium:仅 7B 参数的 Phi-3-small 在语言、推理、编程与数学等多项基准上超越了 GPT-3.5T;14B 参数的 Phi-3-medium 则延续这一趋势,在基准上超过了 Gemini 1.0 Pro;
  • Phi-3.5-mini:可视为 Phi-3-mini 的升级版。参数规模不变,但能力增强——支持20+ 种语言(阿拉伯语、中文、捷克语、丹麦语、荷兰语、英语、芬兰语、法语、德语、希伯来语、匈牙利语、意大利语、日语、韩语、挪威语、波兰语、葡萄牙语、俄语、西班牙语、瑞典语、泰语、土耳其语、乌克兰语等),并对长上下文(long context)提供更强支持。3.8B 参数的 Phi-3.5-mini 超越同尺寸模型,与两倍尺寸的模型持平。

Phi-3 / Phi-3.5 Vision(视觉方向)

  • Phi-3-Vision:仅 4.2B 参数,在通用视觉推理、OCR(光学字符识别)以及表格、图表理解等任务上,超越了 Claude-3 Haiku 与 Gemini 1.0 Pro V 等更大模型;
  • Phi-3.5-Vision:Phi-3-Vision 的升级版,新增多图(multi-image)输入支持,不仅看得懂图片,还能处理视频(多帧输入、对多张输入图像进行推理)。在 OCR、表格与图表理解任务上优于 Claude-3.5 Sonnet 与 Gemini 1.5 Flash,在通用视觉知识推理上与之持平。

Phi-3.5-MoE(混合专家方向)

混合专家(Mixture of Experts, MoE)的核心思想是:以远低于稠密(dense)模型的计算量完成预训练,即用相同的计算预算大幅扩展模型或数据集规模;MoE 模型在预训练阶段应比其稠密对应物更快达到同等质量。

Phi-3.5-MoE 由16 × 3.8B 专家模块构成,仅 6.6B 激活参数(active parameters)就能在推理、语言理解与数学能力上达到与远大于它的模型相近的水平。

得益于这样的设计,与 LLM 不同,你完全可以把 Phi-3/3.5-mini 或 Phi-3/3.5-Vision 部署到**边缘设备(edge devices)**上。

如何调用 Phi-3 / Phi-3.5 家族:云端 API 路线

GitHub Models(最直接的云端方式)

GitHub Models 是上手最快的方式,通过模型目录即可快速访问 Phi-3/3.5-Instruct,配合 Azure AI Inference SDK 或 OpenAI SDK 用代码完成 API 调用,也可以在 Playground 中先行测试不同参数下的效果。

关于服务更替的说明:课程英文原版文档(19-slm/README.md)提示,GitHub Models 将于 2026 年 7 月底退役,Microsoft Foundry Models(Azure AI Foundry 的模型目录)是其直接替代品——你同样可以基于 OpenAI 兼容接口在代码中完成 Instruct 系列模型的调用。

课程中给出了一组直观的中文场景对比 Demo:在相同中文提问下比较 Phi-3-mini 与 Phi-3.5-mini 的回答差异(以下两张截图来自仓库 19-slm/img 目录,展示两种模型的真实输出效果):

观察这两张截图可以直观体会到:模型输出质量(尤其是多语言、地理知识类内容)会随版本迭代而变化,实际效果需要以你运行时的模型版本与温度为准确认。

Azure AI Studio / Microsoft Foundry

如果需要使用 Vision 与 MoE 模型,可以改用 Azure AI Studio(现整合进 Microsoft Foundry)完成调用。更详细的 Instruct、Vision、MoE 调用步骤可参考 Phi-3 Cookbook 中的 QuickStart 章节。

NVIDIA NIM(NVIDIA 推理微服务)

除云厂商模型目录外,还可以通过NVIDIA NIM(NVIDIA Inference Microservices)完成 Phi-3/3.5 家族的 API 调用。NIM 是一组加速推理微服务,帮助开发者在云、数据中心与工作站等多种环境中高效部署 AI 模型,其核心特性包括:

  • 易于部署(Ease of Deployment):单条命令即可部署 AI 模型,易于集成进既有工作流;
  • 性能优化(Optimized Performance):基于 NVIDIA 预优化推理引擎(TensorRT、TensorRT-LLM),保证低延迟、高吞吐;
  • 可扩展性(Scalability):在 Kubernetes 上支持自动扩缩容,有效应对波动负载;
  • 安全与控制(Security and Control):组织可在自管基础设施上自托管 NIM 微服务,保持对数据与应用的控制权;
  • 标准 API(Standard APIs):提供行业标准 API,便于构建聊天机器人、AI 助手等应用。

NIM 隶属于 NVIDIA AI Enterprise,旨在简化 AI 模型的部署与运营,确保模型高效运行在 NVIDIA GPU 上。

仓库中提供了使用 NVIDIA NIM 调用 Phi-3.5-Vision API 的完整演示笔记本:19-slm/python/Phi-3-Vision-Nividia-NIM.ipynb。其核心调用逻辑为:

import requests, base64 invoke_url = "https://ai.api.nvidia.com/v1/vlm/microsoft/phi-3-vision-128k-instruct" # 读取图片并转为 base64 with open("./img/demo.png", "rb") as f: image_b64 = base64.b64encode(f.read()).decode() # 小于 180KB 的图片可直接内联在请求中 assert len(image_b64) < 180_000, \ "To upload larger images, use the assets API (see docs)" headers = { "Authorization": "Bearer Your Nvidia NIM API Key", "Accept": "application/json" } payload = { "messages": [ { "role": "user", "content": f'Please create Python code for image, and use plt to save the new picture under imgs/ and name it phi-3-vision.jpg. <img src="data:image/png;base64,{image_b64}" />' } ], "max_tokens": 1024, "temperature": 0.6, "top_p": 1.0, "stream": False } response = requests.post(invoke_url, headers=headers, json=payload)

请求以 OpenAI 兼容的消息格式发送,图片以data:image/png;base64,...形式内嵌在用户消息中,模型返回的代码片段可通过提取```python```之间的内容进一步解析复用。

在本地运行 Phi-3 / Phi-3.5

所谓推理(Inference),指的是模型根据输入生成响应或预测的过程:当你向 Phi-3 输入提示词或问题时,它利用训练好的神经网络,通过分析训练数据中学到的模式与关系,推断出最可能且最相关的回答。下面介绍几种主流的本地运行方式。

方式一:Hugging Face Transformers

Hugging Face Transformers 是专为 NLP 及其他机器学习任务设计的强大库,核心要点如下:

  1. 预训练模型:提供数千个开箱即用的预训练模型,覆盖文本分类、命名实体识别、问答、摘要、翻译与文本生成等任务;
  2. 框架互操作:支持 PyTorch、TensorFlow 与 JAX 等多种深度学习框架,可在一种框架中训练、在另一种框架中使用;
  3. 多模态能力:除 NLP 外还支持计算机视觉(图像分类、目标检测)与音频处理(语音识别、音频分类);
  4. 易用性:提供便捷 API 与工具下载、微调模型,对新手和专家同样友好;
  5. 社区与资源:拥有活跃社区与丰富的文档、教程和指南。

需要注意的是,这是最常用的方式,但通常需要 GPU 加速——Vision 与 MoE 场景计算量很大,若不做量化,在 CPU 上运行会非常缓慢。

仓库19-slm/python/目录下提供了三个配套 Demo 笔记本,完整可运行代码见:

  • Instruct 演示:phi35-instruct-demo.ipynb——加载模型并构造聊天模板后完成中文对话:
import torch from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline torch.random.manual_seed(0) model = AutoModelForCausalLM.from_pretrained( "../phi-3-instruct", # 本地模型目录,也可以传 Hugging Face 模型 ID device_map="cuda", # 加载到 GPU torch_dtype="auto", # 自动选择精度 trust_remote_code=True, # 信任远程自定义代码(Phi 系列需要) ) tokenizer = AutoTokenizer.from_pretrained("../phi-3-instruct") # Phi 系列使用 <|system|> / <|user|> / <|assistant|> 与 <|end|> 标记构造消息 messages = "<|system|>\n 你是我的人工智能助手,协助我用中文解答问题.\n<|end|><|user|>\n 你知道长沙吗? \n<|end|><|assistant|>" pipe = pipeline("text-generation", model=model, tokenizer=tokenizer) generation_args = { "max_new_tokens": 1024, # 最多生成的新 token 数 "return_full_text": False, "temperature": 0.3, "do_sample": False, # 关闭采样,使用贪心解码 } output = pipe(messages, **generation_args) print(output[0]['generated_text'])
  • Vision 演示:phi35-vision-demo.ipynb——演示了多帧视觉推理的完整链路:先用 OpenCV 从视频中按直方图相似度(阈值< 0.9)抽取关键帧,再用PIL读取为图片列表,并构造<|image_1|><|image_2|>等占位符:
from transformers import AutoModelForCausalLM, AutoProcessor model_id = "../Phi3Vision" model = AutoModelForCausalLM.from_pretrained( model_id, device_map="cuda", trust_remote_code=True, torch_dtype="auto", _attn_implementation='flash_attention_2' ) processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True, num_crops=4) # 21 帧关键帧 + 占位符构成多帧输入 messages = [{"role": "user", "content": placeholder + "Summarize the video."}] prompt = processor.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) inputs = processor(prompt, images, return_tensors="pt").to("cuda:0") generation_args = {"max_new_tokens": 1000, "temperature": 0.0, "do_sample": False} generate_ids = model.generate(**inputs, eos_token_id=processor.tokenizer.eos_token_id, **generation_args) generate_ids = generate_ids[:, inputs['input_ids'].shape[1]:] # 去掉输入部分 response = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
  • MoE 演示:phi35_moe_demo.ipynb——从笔记本输出的模型结构可以看到 MoE 架构的源码级细节:PhiMoEForCausalLM包含 32 层PhiMoEDecoderLayer,其中block_sparse_moe模块由一个输出维度为 16 的gate门控层和16 个PhiMoEBlockSparseTop2MLP专家组成(每个专家含 w1/w2/w3 三个 Linear 与 SiLU 激活,维度 4096→6400→4096)。加载与调用示例如下:
from torch import bfloat16 import transformers model_id = "../Phi3MOE" model = transformers.AutoModelForCausalLM.from_pretrained( model_id, trust_remote_code=True, torch_dtype=bfloat16, device_map='auto', # 自动分配设备(GPU/CPU offload) ) model.eval() tokenizer = transformers.AutoTokenizer.from_pretrained(model_id) # 以 Agent 风格构造指令,要求模型输出 JSON 格式的工具调用 def instruction_format(sys_message: str, query: str): return f'<|system|> {sys_message} <|end|>\n<|user|> {query} <|end|>\n<|assistant|>' pipe = transformers.pipeline("text-generation", model=model, tokenizer=tokenizer) generation_args = {"max_new_tokens": 512, "return_full_text": False, "temperature": 0.3, "do_sample": False} output = pipe(instruction_format(sys_msg, query), **generation_args) print(output[0]['generated_text'])

该演示还展示了一个有趣的玩法:通过 system 提示词把 MoE 模型"装扮"成 Agent,要求其以tool_name/input/output的 JSON 结构分步输出"写博客 → 翻译成中文"的规划结果——这正是 17-ai-agents 课程中 Agent 概念的一种轻量落地形态。

方式二:Ollama

Ollama 是一个让 LLM 在本地机器上运行更简单的平台,支持 Llama 3.1、Phi 3、Mistral、Gemma 2 等多种模型,通过把模型权重、配置与数据打包成一个包来简化流程,支持 macOS、Linux 与 Windows。若想摆脱云服务做实验或部署,这是最直接的方式——只需一条命令:

ollama run phi3.5

方式三:Foundry Local(离线设备端运行时)

如果你追求完全离线运行(不需要 Azure 订阅、API Key 或网络连接),可以选用微软的Foundry Local——它在你自己的硬件上运行 Phi 类模型,自动选择当前可用的最佳执行提供方(NPU、GPU 或 CPU),并暴露 OpenAI 兼容端点,因此既有openai/Azure AI Inference SDK 代码几乎无需改动即可接入(详见 19-slm/README.md):

winget install Microsoft.FoundryLocal foundry model run phi-3.5-mini

也可以在 Python 中直接使用 SDK:

pip install foundry-local-sdk
from foundry_local import FoundryLocalManager manager = FoundryLocalManager("phi-3.5-mini") print(manager.endpoint, manager.api_key)

方式四:ONNX Runtime for GenAI

ONNX Runtime是一个开源项目,提供机器学习模型的高性能推理能力,支持 ONNX(Open Neural Network Exchange)这一表示机器学习模型的标准格式,兼容 PyTorch、TensorFlow/Keras 等深度学习框架及 scikit-learn、LightGBM、XGBoost 等经典库产出的模型,并能在多种硬件、驱动与操作系统上利用硬件加速器配合图优化获得最佳性能。

ONNX Runtime for GENAI则在 ONNX Runtime 之上扩展了对生成式 AI 模型的支持,为 ONNX 模型提供完整的生成式 AI 循环(generative AI loop),包括 ONNX Runtime 推理、logits 处理、搜索与采样、以及 KV 缓存管理。其主要特性:

  • 广泛平台支持:Windows、Linux、macOS、Android、iOS;
  • 模型支持:LLaMA、GPT-Neo、BLOOM 等流行生成式模型;
  • 性能优化:针对 NVIDIA GPU、AMD GPU 等不同硬件加速器做了优化;
  • 易用性:提供高度封装的 API,以极少量代码生成文本、图像等内容;用户既可以调用高层generate()方法,也可以逐 token 循环运行模型的每次迭代,并在循环内按需更新生成参数;
  • 解码策略:内置贪心/束搜索(greedy/beam search)与 TopP、TopK 采样,以及重复惩罚(repetition penalty)等 logits 处理,还支持自定义评分。

快速上手

pip install onnxruntime pip install onnxruntime-genai

基础文本生成示例

import onnxruntime_genai as og model = og.Model('path_to_your_model.onnx') tokenizer = og.Tokenizer(model) input_text = "Hello, how are you?" input_tokens = tokenizer.encode(input_text) output_tokens = model.generate(input_tokens) output_text = tokenizer.decode(output_tokens) print(output_text)

调用 Phi-3.5-Vision 的多模态示例(同样来自课程 Demo):

import onnxruntime_genai as og model_path = './Your Phi-3.5-vision-instruct ONNX Path' img_path = './Your Image Path' model = og.Model(model_path) processor = model.create_multimodal_processor() tokenizer_stream = processor.create_stream() text = "Your Prompt" prompt = "<|user|>\n" prompt += "<|image_1|>\n" prompt += f"{text}<|end|>\n" prompt += "<|assistant|>\n" image = og.Images.open(img_path) inputs = processor(prompt, images=image) params = og.GeneratorParams(model) params.set_inputs(inputs) params.set_search_options(max_length=3072) generator = og.Generator(model, params) while not generator.is_done(): generator.compute_logits() generator.generate_next_token() new_token = generator.get_next_tokens()[0] output = tokenizer_stream.decode(new_token) print(tokenizer_stream.decode(new_token), end='', flush=True)

这段代码展示了 ONNX Runtime GenAI 的逐 token 流式生成模式:GeneratorParams负责配置搜索选项(如max_length),Generator在循环中不断compute_logits()generate_next_token(),并通过tokenizer_stream边生成边打印——这种模式特别适合实现流式输出效果的聊天界面。

其他厂商的量化推理方案

除上述方式外,还可以基于各厂商的模型推理方法完成量化模型的推理,例如:

  • Apple MLX框架 + Apple Metal(苹果设备);
  • Qualcomm QNN+ NPU(高通芯片);
  • Intel OpenVINO+ CPU/GPU(英特尔平台)。

这些方案的共同目标,都是让 SLM 在端侧设备上以更小的显存/内存占用、更低的功耗跑起来。

进一步学习

通过本课,你已经掌握了 SLM 的基础知识、Phi-3/3.5 家族的型号矩阵,以及云端与本地两大类的六种推理接入方式。若想深入学习 SLM 的更多细节(如模型微调、量化、评测等),推荐继续阅读:

  • 本课程的其余章节:00-course-setup/README.md(环境准备)、18-fine-tuning/README.md(微调)、16-open-source-models/README.md(开源模型选型);
  • 仓库中的配套演示笔记本目录:19-slm/python,包含 Instruct、Vision、MoE 与 NVIDIA NIM 四个完整可运行示例;
  • 课程英文原版 19-slm/README.md 中关于 Foundry Models 替换 GitHub Models、Foundry Local 离线运行的更新说明,可作为本文内容的时效性补充。

现在,选择一条适合你硬件条件的路线,用 Phi-3.5 跑通你的第一个 SLM 应用吧。

【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 3:48:08

YOLO目标检测实战入门:从数据标注到AMD显卡部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 3:44:14

嵌入式开发中硬件与软件接口对齐的四大关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 3:42:49

GrapesJS Asset Manager 模块 API 详解:从资产集合管理到自定义 UI

GrapesJS Asset Manager 模块 API 详解&#xff1a;从资产集合管理到自定义 UI 【免费下载链接】grapesjs Free and Open source Web Builder Framework. Next generation tool for building templates without coding 项目地址: https://gitcode.com/GitHub_Trending/gr/gra…

作者头像 李华
网站建设 2026/9/11 3:41:12

PCSX2 PS2 模拟器避坑指南:跑起游戏、拉帧数,一次搞定

PCSX2 PS2 模拟器避坑指南&#xff1a;跑起游戏、拉帧数&#xff0c;一次搞定 【免费下载链接】pcsx2 PCSX2 - The Playstation 2 Emulator 项目地址: https://gitcode.com/GitHub_Trending/pc/pcsx2 摊开一张老 PS2 光盘镜像&#xff0c;PCSX2 这款 PS2 模拟器能让主机…

作者头像 李华