自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1647)
  • 收藏
  • 关注

原创 大模型预训练:将原始文本分割成模型输入样本

MindSpore大模型预训练文本切分组件面向基座与续训场景,提供从原始文本清洗、分词、长文档滑动切分到Sequence-Pack拼接的全链路处理能力。通过EOS隔离文档边界、贪心Pack减少padding、多格式输出(Megatronbin/MindRecord),有效解决长文截断、短文浪费算力、语义混淆等痛点,支持昇腾NPU集群分布式高效预处理,适配MindSpeed-LLM流水线,实现高质量大模型训练数据制备。

2026-10-30 14:28:38 139

原创 昇思 MindSpore 大模型训练:图像分类训练

本文基于MindSpore框架,以ResNet-50为例,完整演示了在昇腾Ascend 910B硬件上进行图像分类训练的全流程。通过数据下沉、混合精度、自动并行等技术,显著提升单卡与多卡训练效率,解决显存不足、吞吐低等问题。提供可运行代码,涵盖环境部署、数据处理、模型训练、精度验证及调优排错,助力开发者高效落地大模型训练。

2026-10-30 14:26:30 298

原创 昇思 MindSpore 大模型:动态图基础能力

本文系统讲解昇思MindSpore动态图(PyNative模式)的核心能力,涵盖执行原理、自动微分、动静混合、代码实现与调优手段。动态图支持即定义即执行,兼容完整Python语法,适配大模型开发、算子调试与梯度验证;通过ms.grad和@ms_function实现灵活调试与局部性能优化。建议采用“动态图调试→热点函数加速→静态图部署”流程,兼顾开发效率与运行性能,助力大模型高效迭代。

2026-10-30 14:24:40 283

原创 Transformers LLM 数据预处理:数据随机高效访问

MindSpore-Transformers LLM数据预处理模块针对大模型训练中的海量数据访问痛点,通过索引预构建、内存映射(MMap)、索引层shuffle与分布式分片,实现百万至千万级数据集的低内存、高随机访问。支持JSONL、Parquet、二进制等多格式,兼容昇腾NPU集群,有效解决全量加载内存爆炸、顺序读取瓶颈、多卡重复采样等问题,显著提升预训练与指令微调效率,助力高效、可复现的大规模模型训练。

2026-10-30 14:18:07 350

原创 Transformers LLM 推理:vLLM‑MindSpore Plugin的使用

vLLM-MindSporePlugin将vLLM的分页KV缓存与连续批处理能力,与MindSpore的图编译、算子融合及混合量化结合,实现昇腾NPU上高吞吐大模型推理。通过复用vLLM调度层,无缝对接MindSpore-Transformers模型,支持OpenAI API,显著提升并发与吞吐,降低长尾时延。实测表明,该方案有效解决显存浪费与排队延迟问题,助力开发者快速部署高性能在线服务。

2026-10-30 14:16:09 282

原创 香橙派 OrangePi AIpro 目标检测:Two‑Stage Detector 开发模式及内容

本文基于OrangePiAIpro部署FasterR-CNN两阶段目标检测模型,提出拆分式推理方案:将RPN与ROI-Head分离为两个OM模型,规避动态shape与复杂算子转换问题。通过MMDeploy导出ONNX,ATC工具指定Ascend310B4芯片完成转换,关键后处理(Proposal解码、NMS)在CPU侧实现。实测表明,该方案稳定可行,适用于工业缺陷检测等高精度场景,强调避免NMS嵌入模型、限制候选框数量、优先FP16推理以保障精度与性能。

2026-10-29 11:09:26 312

原创 Transformers 大模型训练迁移:定义 Transformer 层结构的模块规范

MindSpore-Transformers提出面向昇腾NPU的Transformer模块规范,统一Attention、MLP、DecoderLayer等核心组件的接口、命名与权重映射,解决迁移中权重对齐难、分布式并行适配失败、算子替换困难等问题。遵循该规范可实现HuggingFace模型低成本、高质量迁移至MindSpore生态,原生支持MindSpeed训练、LoRA微调、MindIE推理及全链路权重管理,显著提升迁移效率与系统兼容性。

2026-10-29 11:03:58 281

原创 Transformers LLM 预训练模型:HuggingFace Tokenizer 无缝对接

本文介绍MindSpore-Transformers如何原生支持HuggingFaceTokenizer无缝接入,实现预训练任务中分词逻辑与HF生态完全对齐。通过Python脚本API或YAML配置文件两种方式,可直接加载HF模型的词表与分词器,避免手动转换词表带来的错误。重点强调预训练与推理必须使用同一Tokenizer实例,且padding_side、seq_length、trust_remote_code等参数需严格一致,否则会导致loss不收敛或输出乱码。文中提供完整接入流程、代码示例及常见问题排查

2026-10-29 11:01:33 144

原创 Transformers LLM 推理:服务化部署实践

MindSpore-Transformers是适配昇腾NPU的大模型推理套件,兼容HuggingFace接口,结合MindIE引擎与FastAPI框架,实现高性能、低延迟的LLM服务化部署。支持动态批处理、流式输出、多并发调度与PagedAttention显存优化,覆盖对话机器人、API服务、批量文本处理等场景,提供端到端生产级推理能力,助力大模型在昇腾生态快速落地。

2026-10-29 10:58:37 182

原创 Transformers 训练在线监控:梯度范数 norm的分析使用

本文针对大模型训练中梯度爆炸与消失问题,提出基于MindSpore-Transformers的梯度范数在线监控方案。通过自定义Callback实现每10步采集全局梯度L2范数,结合msprof与MindStudioInsight进行异常定位,覆盖“埋点—采集—告警—诊断—优化”全流程。配套提供代码示例、阈值参考及可视化分析,适配分布式多卡环境,强调全局梯度聚合与性能开销控制,实现故障快速识别与优化验证,提升训练稳定性。

2026-10-29 10:56:22 267

原创 Transformers:按层处理权重开发模式

MindSpore-Transformers支持按层处理权重,实现分层加载、初始化、学习率设置等精细化控制。通过cells_and_names()遍历网络结构,区分Embedding、TransformerBlock与LMHead,结合load_checkpoint与load_param_into_net完成层粒度参数处理。适用于增量预训练、模型迁移、层衰减优化与裁剪场景。开发中需注意参数名匹配、分布式布局推导顺序、避免in-place修改,并配合优化器分组实现分层学习率。关键在于精准识别层类型与参数归属,

2026-10-28 10:28:15 149

原创 大模型:TensorFlow 模型转换开发模式、内容及代码实战

本文系统阐述了TensorFlow模型向昇思MindSpore迁移的全流程,涵盖转换背景、三大开发模式(自动转换、手动映射、ONNX中转)、核心约束与关键步骤。重点强调冻结pb为必要输入,需处理卷积/全连接权重维度转置、算子语义差异及Dropout丢失问题。通过MindConverter工具实现自动化转换,结合精度对齐校验与MindIR导出,确保模型在昇腾NPU上正确部署。总结指出:优先使用工具转换,复杂场景手动映射,务必验证精度并动态适配输入形状。

2026-10-28 10:25:31 281

原创 Transformers 断点续训介绍与实践:权重策略转换

本文介绍MindSporeTransformers基于Checkpoint2.0实现的断点续训与权重策略转换能力,支持普通中断、扩缩容及并行策略变更下的无缝续训。通过在线/离线reshard机制,可自动完成分片权重重分配,结合模型、优化器、学习率及数据游标状态恢复,确保训练连续性。实测Qwen-7B模型在16卡扩容后续训起始step准确、loss稳定,吞吐无明显下降。关键要点:使用共享存储、开启优化器保存、确保源策略完整,超大模型推荐离线转换以降低内存开销。

2026-10-28 10:17:41 296

原创 大模型应用:Short‑term memory(短期记忆)开发模式、内容及代码实战

本文介绍昇腾NPU环境下大语言模型短期记忆(Short-term Memory, STM)的实现与优化。STM作为Agent多轮交互的核心组件,负责维护会话上下文、工具调用状态等临时数据,与KVCache推理缓存协同工作:前者为应用层消息队列,后者为模型底层张量加速。开发中采用滑动窗口或摘要混合模式控制token长度,防止超限;需在每轮推理前裁剪,并配合StaticCache提升性能。关键约束包括限制最大序列长度、独立管理并发会话内存及同步清空缓存。强调STM不持久化,跨会话记忆需结合Long-term M

2026-10-28 10:13:53 157

原创 大模型微调:Mixtral‑MoE模型

本文基于昇思MindSpore+CANN8.5.0环境,完整实现Mixtral-8x7B-v0.1 MoE模型的LoRA微调全流程。通过MindStudio工具链,完成环境部署、权重转换、数据预处理、分布式训练配置及并行优化,有效解决专家负载失衡、精度不收敛、通信开销大、显存溢出等问题。结合msProbe精度调试与msprof性能分析,精准定位路由层溢出、All-to-All通信瓶颈等关键问题,最终实现高效、稳定的多卡集群微调与推理验证。

2026-10-28 10:08:58 312

原创 大模型性能评估:明确评估维度的实践

本文构建昇思大模型标准化性能评估体系,基于MindSporeProfiler、msprof与MindStudioInsight工具,涵盖计算性能、内存资源、通信开销、扩展能力、推理服务与稳定性抖动六大维度,形成“环境校验→多维采集→评估打分→瓶颈定位→优化验证”闭环流程,适配MindSpore2.9+、MindStudio7.0+、CANN8.5.0环境。通过脚本埋点、命令行采集与可视化分析,实现全链路性能量化评估,确保大模型训练与推理的高效性、稳定性和可复现性,为调优与部署提供科学依据。

2026-10-27 15:01:10 169

原创 大模型应用:关系抽取的分析和实践

本文基于昇思MindSpore与昇腾NPU,全流程演示大模型在中文关系抽取中的落地实践。通过指令微调+LoRA低秩适配,实现高效微调与部署,涵盖数据处理、模型训练、推理验证及Gradio可视化,并支持MindIR导出与线上服务部署,助力知识图谱、RAG等场景快速构建结构化关系三元组。

2026-10-27 14:57:29 308

原创 大模型训练:高效推理应用场景的分析

本文介绍昇思MindSpore基于昇腾NPU的高效大模型推理方案,覆盖交互式对话、离线批量生成、超大模型多卡并行及高并发服务化四大场景。通过启用KVCache增量推理(use_past=True)、流式输出、动态批处理、量化压缩与模型并行等技术,结合CANN8.5与MindSpore-Transformers1.9环境,实现低时延、高吞吐的生产级部署。实操案例涵盖流式生成、多batch推理、多卡切分及MindIE引擎应用,助力开发者精准匹配业务需求,完成“训练-微调-推理”全链路落地。

2026-10-27 14:48:51 182

原创 大模型训练:模型格式转换及调试优化

本文系统梳理了大模型在MindSpore2.6.0、CANN8.5.0环境下从HuggingFace权重到昇腾OM模型的完整链路,涵盖格式转换、MindIR导出、精度调试(Dump+TroubleShooter)、性能优化(MindInsight+混合精度/重计算/PageAttention)及常见问题排查,提供可复现代码示例,助力开发者实现“权重转换—模型导出—精度调试—性能优化—问题验证”闭环,保障大模型在Atlas910B/A3硬件上高效训练与部署。

2026-10-27 14:44:22 137

原创 大模型:基础数据结构对齐 PT的详解

本文介绍MindSpore如何通过Tensor、Cell、Parameter、Dataset、Checkpoint五大基础数据结构与PyTorch语义对齐,实现大模型从PyTorch向昇腾全栈的高效迁移。结合mint兼容层与TroubleShooter工具链,支持权重双向转换、精度比对与分布式训练适配,显著降低百亿、千亿参数模型的改造成本,助力开源大模型在国产硬件上完成预训练、微调与推理落地。

2026-10-27 14:42:29 182

原创 大模型:shuffle的原理和操作实践

本文详解昇思MindSpore与MindSpore-Transformers中shuffle机制在大模型训练中的关键作用,涵盖普通数据集与Megatronbin/idx二进制数据集的混洗原理、单机与分布式多卡配置方法。重点介绍缓冲区混洗与索引混洗两种实现方式,强调预训练阶段应避免离线全局打乱,推荐通过yaml配置shuffle: True实现全局混洗,确保模型收敛性与泛化能力。结合实操代码与常见问题排查,提供调优建议:合理设置buffer_size、统一seed、避免手动分片后shuffle,平衡内存开销与

2026-10-26 15:18:34 133

原创 计算机视觉:分类任务的基本使用

本文基于昇思MindSpore与昇腾NPU,以CIFAR-10和ResNet50为例,系统演示图像分类全流程:涵盖数据增强、网络构建、训练调优、评估推理及部署。通过MindData实现高效数据流水线,利用Model高阶API简化开发,结合图模式与分布式训练释放硬件性能。重点介绍昇腾平台调优要点:启用图模式、合理设置batch size、使用预训练模型迁移学习,并规避归一化错误、数据泄露等常见问题,助力开发者快速上手CV任务。

2026-10-26 15:14:29 204

原创 大模型单卡微调推理:MMLU数据集转换MindSporeRecord格式实操详解

本文基于昇思MindSpore 2.7,实现MMLU数据集到MindRecord格式的高效转换,通过单卡NPU环境完成大模型轻量化微调与推理评测。利用MindRecord的序列化压缩、高速读取与预加载优势,显著提升数据吞吐,解决传统文本格式带来的IO瓶颈。全流程涵盖数据解析、标准化处理、分片存储、微调训练与评测,附完整可复用代码,为大模型在低资源场景下的高效微调提供可靠方案。

2026-10-26 15:11:54 217

原创 Transformers 大模型训练迁移:ModuleSpec的使用

本文介绍MindSpore-Transformers中的ModuleSpec组件,通过声明式方式实现HuggingFace大模型向昇腾平台的高效迁移。其核心能力包括模型注册、自动权重映射、并行策略绑定与子模块递归管理,显著降低迁移成本。结合代码实践与踩坑指南,展示如何快速完成模型注册、分布式训练配置及权重加载,助力开发者无缝接入昇腾NPU集群,实现大模型高效训练。

2026-10-26 15:08:25 195

原创 大模型训练:保存mindir 格式模型

MindSpore大模型训练后导出MindIR实现“一次训练,多端部署”。MindIR封装计算图与权重,支持跨硬件推理,区别于仅存参数的ckpt。分布式场景需加载strategy_ckpt与分片ckpt,通过infer_predict_layout生成推理布局,再调用export生成mindir。可直接推理或经ATC编译为om模型部署昇腾NPU。注意:不可用MindIR恢复训练,需关闭dropout、匹配输入维度,避免控制流报错。

2026-10-26 15:06:33 183

原创 MindSpore‑Transformers LLM 预训练模型:Megatron‑LM API 接口对齐

MindSpore-Transformers(MindFormers)实现对Megatron-LM核心API语义对齐,支持张量、流水线、序列并行,兼容Megatron数据集与权重格式。通过四层架构设计,实现接口、参数、分布式逻辑高度一致,开发者仅需少量适配即可将大模型训练脚本迁移至昇腾NPU,复用图编译、算子融合、混合精度等加速能力,显著降低国产化迁移成本。配套提供数据集加载、权重双向转换、精度比对工具链,支持端到端可比对训练,助力百亿、千亿参数模型在昇腾平台高效落地。

2026-10-23 15:09:49 179

原创 大模型:吞吐量深度调优实践

本文系统阐述了在昇腾NPU上通过昇思MindSpore全栈优化提升大模型吞吐量的策略。基于图编译、算子融合、内存复用、PageAttention、ZeroBubbleV并行及动态batching等技术,从训练到推理全流程优化,结合可运行代码与benchmark工具,实现token吞吐逼近硬件上限。重点解决显存碎片、通信开销、调度瓶颈等问题,助力开发者高效释放算力,降低部署成本,尤其在多模态强化学习场景中兼顾训练与推理吞吐,全面提升端到端效率。

2026-10-23 15:07:38 336

原创 NPU 驱动原理与 make 编译依赖

昇腾 NPU 整套体系分为内核驱动和CANN Toolkit 用户态 SDK两部分,二者职责分离:内核驱动负责硬件调度;CANN Toolkit 提供头文件、动态库,用于业务代码编译开发。使用 Makefile 构建 NPU 应用时,编译阶段依赖 Toolkit 的 include 头文件目录;链接阶段依赖 lib64 动态库目录;程序运行阶段,既需要系统加载匹配版本 NPU 内核驱动,又要保证操作系统动态链接器可以找到 AscendCL 运行时库。

2026-10-23 15:05:31 387

原创 大模型:AscendCluster 集群调度技术

AscendCluster解决昇腾NPU大模型训练集群的四大痛点:静态rank_table配置繁琐、故障恢复能力弱、资源利用率低、通信拓扑脱节。通过动态组网、故障自愈、拓扑感知调度与资源池化混部,实现算力利用率提升25%-45%,任务可用性显著增强,广泛适配大语言模型、多模态及MoE模型训练。结合msrun启动与MindSpore自动并行,零代码改造即可接入,大幅降低万亿参数模型落地门槛。

2026-10-23 15:02:50 269

原创 昇思大模型:支持原始框架类型为 Caffe 的模型转换

本文介绍昇思MindSpore生态通过MindSpore-Lite转换工具,实现Caffe模型向昇腾NPU的迁移。针对存量CV模型(如LeNet、VGG),支持将prototxt与caffemodel文件解析为MindSpore原生MINDIR格式,经优化后可编译为om模型部署推理。流程涵盖转换架构、代码实操、约束限制及问题排查,强调需验证输入对齐、算子兼容性与精度一致性,确保迁移可靠性。

2026-10-23 14:57:40 163

原创 LLM Prompt:Architecture‑engineering 深度学习时代

本文系统阐述昇腾平台下Architecture-engineering提示架构工程的实践,将提示词升级为可维护、组件化、分层的软件架构,突破传统单点Prompt Engineering的局限。依托昇腾DaVinci硬件与MindIE推理引擎,实现长序列处理、批量高吞吐、序列并行及PagedAttention优化,支持组件拼接、链式编排、版本管理与自动化评测。通过分层模块设计(内核、任务、示例、上下文、用户输入)与完整工作流闭环,提升大模型输出稳定性与业务落地效率,推动提示工程向工业化演进。

2026-10-22 10:32:36 216

原创 大模型:在 SST‑2 情感分析数据集上提示 RoBERTa

昇思MindSpore结合MindStudio,实现RoBERTa在SST-2情感分类任务的高效提示学习。通过软提示调优,冻结主干网络,仅训练少量可学习向量,显著降低显存开销与过拟合风险。依托掩码模板与Verbalizer映射,复用MLM范式完成分类,支持少样本场景。全流程涵盖数据预处理、冒烟验证、精度调试与推理评测,借助Dump、溢出检测与跨平台比对,快速定位数值偏差与配置错误,调试周期由天级缩至小时级。该方案适配多种GLUE任务,助力预训练模型在昇腾NPU高效落地。

2026-10-22 10:27:41 134

原创 昇思大模型预处理:加载模型分词器

本文系统介绍昇思MindSpore大模型分词器预处理实践,针对分词器加载混乱、特殊token缺失、padding/truncation不一致、输出与HuggingFace对齐困难等痛点,提出基于MindFormers的统一解决方案。通过AutoTokenizer实现多源加载(本地/HFHub/OBS)、特殊token校验、训练推理分离策略、批量处理及输出对齐校验,保障数据一致性,提升开发效率与模型精度,助力大模型训练与推理落地。

2026-10-22 10:24:56 165

原创 昇腾平台 CV 模型微调:图像交互场景实践

本文系统阐述了昇腾平台在图像交互任务(如VQA、Caption、交互式分割)中的CV模型微调实践,涵盖硬件底座、多模态数据处理、微调策略、分布式训练、性能优化与评估全流程。基于昇腾DaVinci架构与MindSpore生态,实现从数据预处理到模型部署的完整链路,强调冻结主干、离线预处理、激活重计算等关键调优手段,确保高分辨率下显存可控与训推一致。实证表明,结合业务指标(mIoU/VQA-Acc/BLEU)评估,可有效避免过拟合与性能偏差,助力高效落地复杂图像交互应用。

2026-10-22 10:21:44 204

原创 大模型:上下文学习的使用

本文系统介绍昇思MindSpore-Transformers中上下文学习(ICL)的原理与实践,涵盖从Prompt构造、模型推理到性能优化全流程。基于昇腾NPU,通过开启KV-Cache增量推理、序列并行与Ring-Attention等技术,有效缓解长序列导致的显存暴涨与Prefill耗时问题。强调合理设计示例数量与模板规范,结合use_past、Prefix-Cache等优化手段,提升ICL稳定性与效率。适用于快速验证简单任务,复杂或高并发场景建议采用微调。

2026-10-22 10:17:00 249

原创 MindSpore‑Transformers 训练在线监控

本文介绍MindSpore-Transformers(MindFormers)在昇腾NPU上实现大模型训练loss全链路在线监控的实践,涵盖硬件基础、监控原理、配置示例、调优手段与异常排查。通过MFLossMonitor、SummaryMonitor及monitor_config组件,支持控制台打印、TensorBoard可视化、梯度范数与NaN/INF检测,适配单卡及多机多卡混合并行场景。重点强调loss、grad_norm、loss-scale等指标协同分析,助力开发者及时发现收敛异常、梯度爆炸、过拟合

2026-10-21 15:00:28 256

原创 MindSpore-Transformers:通过 yaml 对任务相关参数进行配置

本文介绍在昇腾平台使用MindSpore-Transformers进行大模型训练时,通过YAML配置实现参数解耦的实践方法。将模型、数据、训练、并行策略等参数集中管理于YAML文件,结合Config工具实现加载、合并与命令行覆盖,支持多实验对比、版本复现与工程化落地。重点涵盖配置结构设计、代码加载、继承机制、校验规范及常见问题排查,推荐采用分层配置、禁止硬编码、启动前校验等最佳实践,显著提升大模型任务开发效率与可维护性。

2026-10-21 14:55:32 107

原创 昇思大模型针对昇腾 Ascend 硬件操作

本文系统介绍MindSpore在昇腾Ascend硬件上的底层操作接口,涵盖设备管理、内存拷贝、流同步、异构Offload及内存池控制等核心能力,结合大模型训练/推理场景,提供从环境配置到性能调优的全链路实践指南。通过实操代码与故障案例分析,指导用户解决OOM、同步异常、内存泄漏等问题,适配MindSpore2.4+、CANN8.5.0及Atlas800I-A2环境,强调避免频繁拷贝、合理使用offload与流同步,提升分布式训练稳定性与性能。

2026-10-21 14:52:55 336

原创 Transformers LLM 数据预处理:支持大规模数据存储

MindSporeTransformers(MindFormers)面向大语言模型提供高效数据预处理方案,支持MindRecord与Megatron二进制存储,实现离线分词、样本Packing、多源混合采样及分布式分片,解决原始文本读取慢、CPU瓶颈、数据分布不均等问题。通过全流程闭环管理与MindStudio联动校验,显著提升昇腾NPU集群算力利用率,助力千亿级模型高效训练。

2026-10-21 14:49:42 162

原创 零基础上手模型推理:全流程实操与性能优化技巧

本文聚焦华为MindSpore推理落地实战,拆解从模型加载到多场景部署的完整链路。基于训推一体架构,详解权重加载、预处理对齐、推理模式切换等核心步骤,提供可运行代码案例,解决精度丢失、适配报错等问题。重点展示静态图加速、量化压缩、批量推理等优化策略,并覆盖云端、端侧、边缘设备全场景部署方案,助力开发者高效实现AI模型价值转化。

2026-10-21 14:48:14 175

第五期《MindFormers套件之大模型》

第五期《MindFormers套件之大模型

2023-10-18

第三期《MindFormers套件之大模型Lora微调》

第三期《MindFormers套件之大模型Lora微调》

2023-10-18

第一期·MindFormers大模型套件《架构讲解与使用入门》

第一期·MindFormers大模型套件《架构讲解与使用入门》

2023-10-18

第四期《MindFormers套件之大模型文本生成和分布式在线推理》

第四期《MindFormers套件之大模型文本生成和分布式在线推理》

2023-10-18

MindSpore大规模分布式并行培训第一期

MindSpore大规模分布式并行培训第一期

2023-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除