【通览一百个大模型】GLM(THU)

【通览一百个大模型】GLM(THU)

作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo

订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货资料大礼包,近200篇论文,300份博主亲自撰写的markdown笔记,近100个大模型资料卡,助力NLP科研、学习和求职。


一、GLM原理

GLM大模型基本资料卡

序号大模型名称归属推出时间规模预训练语料评测基准模型与训练方法开源论文模型地址相关资料
13GLM清华NLP2022-05<1B、2B、10BWikipedia、BookCorpus等13GB英文语料;
中文版本模型预训练语料为wudao2.0
SuperGLUE、CNN/DailyMail、XSum(1)预训练任务为自回归填充任务。通过attention进行统一训练。输入部分含有mask片段的文本(蓝色),所有token的全部可见;输出部分为自回归式依次生成被mask的各个片段的文本(黄绿色),片段顺序是被打乱的(黄绿色先后顺序是随机的),attention矩阵被mask,每个片段生成起始终止符号为[S]和[E]。
image.png
(2)多任务训练:文档级别和句子级别的填充任务;
(3)Fine-tuning:所有NLG和NLU转换为生成式任务。
GithubGLMhttps://huggingface.co/THUDM/glm-10b-chinese
glm-10b
查看

GLM模型架构及预训练目标如下所示:
image.png

GLM相关开源项目:

  • GLM:https://github.com/THUDM/GLM
  • ChatGLM博客:https://chatglm.cn/blog
  • ChatGLM:https://github.com/THUDM/ChatGLM-6B
  • ChatGLM2:https://github.com/THUDM/ChatGLM2-6B
  • Longchain-ChatGLM:https://github.com/imClumsyPanda/langchain-ChatGLM


模型架构: Decoder-only Transformer模型

  • 更换了Layer Normalization和residual connection的顺序;
  • 用单层线性层来预测输出的token;
  • 激活函数更换为GeLUs;
  • position embedding:定义了两个不同的绝对位置
  • Attention Mask:输入的文本中token相互可见;生成的文本中,后一个token只能看到前面的token。

预训练任务:输入一个含有masked token的文本[MASK](蓝色),按照causal language modeling目标生成masked token对应的文本(黄色和绿色)。预训练时生成的masked token先后顺序是随机的,同时每一个masked span都有两个特殊标记[START]和[END];

  • Document-level:整个文档的50%~100%的连续token被mask;
  • sentence-level:mask完整的句子,直到mask大约15%的token

下游微调&推理

  • 分类:输入一个文本,添加一个It was [MASK],通过verbalizer来预测类别;
  • 生成:输入一个文本,文本末尾添加一个[MASK],复用Causal LM生成结果;

目前开放的GLM系列模型如下表所示:

NameParamsLanguageCorpusObjectiveFileConfig
GLM-Base110MEnglishWiki+BookTokenglm-base-blank.tar.bz2model_blocklm_base.sh
GLM-Large335MEnglishWiki+BookTokenglm-large-blank.tar.bz2model_blocklm_large.sh
GLM-Large-Chinese335MChineseWuDaoCorporaToken+Sent+Docglm-large-chinese.tar.bz2model_blocklm_large_chinese.sh
GLM-Doc335MEnglishWiki+BookToken+Docglm-large-generation.tar.bz2model_blocklm_large_generation.sh
GLM-410M410MEnglishWiki+BookToken+Docglm-1.25-generation.tar.bz2model_blocklm_1.25_generation.sh
GLM-515M515MEnglishWiki+BookToken+Docglm-1.5-generation.tar.bz2model_blocklm_1.5_generation.sh
GLM-RoBERTa335MEnglishRoBERTaTokenglm-roberta-large-blank.tar.bz2model_blocklm_roberta_large.sh
GLM-2B2BEnglishPileToken+Sent+Docglm-2b.tar.bz2model_blocklm_2B.sh
GLM-10B10BEnglishPileToken+Sent+DocDownloadmodel_blocklm_10B.sh
GLM-10B-Chinese10BChineseWuDaoCorporaToken+Sent+DocDownloadmodel_blocklm_10B_chinese.sh

GLM仓库:https://github.com/THUDM/GLM

使用GLM进行文本生成任务,例如:

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("THUDM/glm-10b", trust_remote_code=True)
model = AutoModelForSeq2SeqLM.from_pretrained("THUDM/glm-10b", trust_remote_code=True)
model = model.half().cuda()
model.eval()# Inference
inputs = tokenizer("Ng is an adjunct professor at [MASK] (formerly associate professor and Director of its Stanford AI Lab or SAIL ). Also a pioneer in online education, Ng co-founded Coursera and deeplearning.ai.", return_tensors="pt")
inputs = tokenizer.build_inputs_for_generation(inputs, max_gen_length=512)
inputs = inputs.to('cuda')
outputs = model.generate(**inputs, max_length=512, eos_token_id=tokenizer.eop_token_id)
print(tokenizer.decode(outputs[0].tolist()))# Training
inputs = tokenizer(["Tsinghua University is located in [MASK].", "One minus one equals zero, is it correct? Answer: [MASK]"],return_tensors="pt", padding=True)
inputs = tokenizer.build_inputs_for_generation(inputs, targets=["Beijing", "No"], max_gen_length=8, padding=False)
inputs = inputs.to('cuda')
outputs = model(**inputs)
loss = outputs.loss
logits = outputs.logits

二、ChatGLM-6B

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答,

2.1 硬件需求

量化等级最低 GPU 显存(推理)最低 GPU 显存(高效参数微调)
FP16(无量化)13 GB14 GB
INT88 GB9 GB
INT46 GB7 GB

环境安装

使用 pip 安装依赖:pip install -r requirements.txt,其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。
此外,如果需要在 cpu 上运行量化后的模型,还需要安装 gcc 与 openmp。多数 Linux 发行版默认已安装。对于 Windows ,可在安装 TDM-GCC 时勾选 openmp。 Windows 测试环境 gcc 版本为 TDM-GCC 10.3.0, Linux 为 gcc 11.3.0。在 MacOS 上请参考 Q1。

2.2 代码调用

>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>>> print(response)
晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。
2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。
3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。
4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。
5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。
6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。

2.3 从本地加载模型

以上代码会由 transformers 自动下载模型实现和参数。完整的模型实现可以在 Hugging Face Hub。如果你的网络环境较差,下载模型参数可能会花费较长时间甚至失败。此时可以先将模型下载到本地,然后从本地加载。
从 Hugging Face Hub 下载模型需要先安装Git LFS,然后运行

git clone https://huggingface.co/THUDM/chatglm-6b

如果你从 Hugging Face Hub 上下载 checkpoint 的速度较慢,可以只下载模型实现

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b

然后从这里手动下载模型参数文件,并将下载的文件替换到本地的 chatglm-6b 目录下。
将模型下载到本地之后,将以上代码中的 THUDM/chatglm-6b 替换为你本地的 chatglm-6b 文件夹的路径,即可从本地加载模型。

2.4 微调ChatGLM-6B

(1)基于Ptuning进行参数有效性训练

ChatGLM官网已经给出了一种基于P-tuning V2的参数有效性微调,详见:https://github.com/THUDM/ChatGLM-6B/tree/main/ptuning。
使用自己的训练数据
修改 train.sh 和 evaluate.sh 中的 train_file、validation_file和test_file为你自己的 JSON 格式数据集路径,并将 prompt_column 和 response_column 改为 JSON 文件中输入文本和输出文本对应的 KEY。可能还需要增大 max_source_length 和 max_target_length 来匹配你自己的数据集中的最大输入输出长度。
对话数据集
如需要使用多轮对话数据对模型进行微调,可以提供聊天历史,例如以下是一个三轮对话的训练数据:

{“prompt”: “长城h3风扇不转。继电器好的。保险丝好的传感器新的风扇也新的这是为什么。就是继电器缺一个信号线”, “response”: “用电脑能读数据流吗?水温多少”, “history”: []}
{“prompt”: “95”, “response”: “上下水管温差怎么样啊?空气是不是都排干净了呢?”, “history”: [[“长城h3风扇不转。继电器好的。保险丝好的传感器新的风扇也新的这是为什么。就是继电器缺一个信号线”, “用电脑能读数据流吗?水温多少”]]}
{“prompt”: “是的。上下水管都好的”, “response”: “那就要检查线路了,一般风扇继电器是由电脑控制吸合的,如果电路存在断路,或者电脑坏了的话会出现继电器不吸合的情况!”, “history”: [[“长城h3风扇不转。继电器好的。保险丝好的传感器新的风扇也新的这是为什么。就是继电器缺一个信号线”, “用电脑能读数据流吗?水温多少”], [“95”, “上下水管温差怎么样啊?空气是不是都排干净了呢?”]]}

训练时需要指定 --history_column 为数据中聊天历史的 key(在此例子中是 history),将自动把聊天历史拼接。要注意超过输入长度 max_source_length 的内容会被截断。
开始训练时执行以下脚本:

bash train_chat.sh

(2)基于LoRA的参数有效性训练

其他开源项目实现了基于LoRA训练ChatGLM,例如:

  • ChatGLM-Tuning:https://github.com/mymusise/ChatGLM-Tuning
  • ChatGLM-Efficient-Tuning:https://github.com/hiyouga/ChatGLM-Efficient-Tuning

目前这两个项目还在developing和revising中。这些项目的实现思路是基于Huggingface开发了简单的数据加载和微调代码,并直接从Huggingface上加载ChatGLM-6B模型。

模型部署

模型量化

默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存。如果你的 GPU 显存有限,可以尝试以量化方式加载模型,使用方法如下:

# 按需修改,目前只支持 4/8 bit 量化 
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).quantize(8).half().cuda()

进行 2 至 3 轮对话后,8-bit 量化下 GPU 显存占用约为 10GB,4-bit 量化下仅需 6GB 占用。随着对话轮数的增多,对应消耗显存也随之增长,由于采用了相对位置编码,理论上 ChatGLM-6B 支持无限长的 context-length,但总长度超过 2048(训练长度)后性能会逐渐下降。
模型量化会带来一定的性能损失,经过测试,ChatGLM-6B 在 4-bit 量化下仍然能够进行自然流畅的生成。使用 GPT-Q 等量化方案可以进一步压缩量化精度/提升相同量化精度下的模型性能,欢迎大家提出对应的 Pull Request。
量化过程需要在内存中首先加载 FP16 格式的模型,消耗大概 13GB 的内存。如果你的内存不足的话,可以直接加载量化后的模型,INT4 量化后的模型仅需大概 5.2GB 的内存:

# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8" 
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).half().cuda()

量化模型的参数文件也可以从这里手动下载。

CPU 部署

如果你没有 GPU 硬件的话,也可以在 CPU 上进行推理,但是推理速度会更慢。使用方法如下(需要大概 32GB 内存)

model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).float()

如果你的内存不足,可以直接加载量化后的模型:

# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8" 
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()

如果遇到了报错 Could not find module ‘nvcuda.dll’ 或者 RuntimeError: Unknown platform: darwin (MacOS) ,请从本地加载模型

Mac 部署

对于搭载了 Apple Silicon 或者 AMD GPU 的Mac,可以使用 MPS 后端来在 GPU 上运行 ChatGLM-6B。需要参考 Apple 的 官方说明 安装 PyTorch-Nightly(正确的版本号应该是2.1.0.dev2023xxxx,而不是2.0.0)。
目前在 MacOS 上只支持从本地加载模型。将代码中的模型加载改为从本地加载,并使用 mps 后端:

model = AutoModel.from_pretrained("your local path", trust_remote_code=True).half().to('mps')

加载半精度的 ChatGLM-6B 模型需要大概 13GB 内存。内存较小的机器(比如 16GB 内存的 MacBook Pro),在空余内存不足的情况下会使用硬盘上的虚拟内存,导致推理速度严重变慢。此时可以使用量化后的模型如 chatglm-6b-int4。因为 GPU 上量化的 kernel 是使用 CUDA 编写的,因此无法在 MacOS 上使用,只能使用 CPU 进行推理。

# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8" 
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()

为了充分使用 CPU 并行,还需要单独安装 OpenMP。

多卡部署

如果你有多张 GPU,但是每张 GPU 的显存大小都不足以容纳完整的模型,那么可以将模型切分在多张GPU上。首先安装 accelerate: pip install accelerate,然后通过如下方法加载模型:

from utils import load_model_on_gpus model = load_model_on_gpus("THUDM/chatglm-6b", num_gpus=2)

即可将模型部署到两张 GPU 上进行推理。你可以将 num_gpus 改为你希望使用的 GPU 数。默认是均匀切分的,你也可以传入 device_map 参数来自己指定。

  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。


【大模型&NLP&算法】专栏

近200篇论文,300份博主亲自撰写的markdown笔记。订阅本专栏【大模型&NLP&算法】专栏,或前往https://github.com/wjn1996/LLMs-NLP-Algo即可获得全部如下资料:

  • 机器学习&深度学习基础与进阶干货(笔记、PPT、代码)
  • NLP基础与进阶干货(笔记、PPT、代码)
  • 大模型全套体系——预训练语言模型基础、知识预训练、大模型一览、大模型训练与优化、大模型调优、类ChatGPT的复现与应用等;
  • 大厂算法刷题;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41160.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文写作】《ChatGPT六步提问法:你若诚心发问,它会给你一篇惊艳论文!》- 知识点目录

《ChatGPT六步提问法&#xff1a;你若诚心发问&#xff0c;它会给你一篇惊艳论文&#xff01;》

chatgpt赋能python:10年Python编程经验带你畅玩Python编程游戏APP

10年Python编程经验带你畅玩Python编程游戏APP Python是一种高级编程语言&#xff0c;具有易懂、易学、易用等特点&#xff0c;被广泛应用于科学计算、数据处理、Web开发和人工智能等领域。而Python编程游戏APP则是近年来Python社区中新兴的一类应用&#xff0c;它以游戏化的方…

chatgpt赋能python:Python搜题app:提高学习效率的利器

Python搜题app&#xff1a;提高学习效率的利器 在学习过程中&#xff0c;遇到难题是不可避免的。而如何高效地解决这些问题呢&#xff1f;Python搜题app应运而生&#xff0c;它是一款基于Python编写的提高学习效率的利器。在这篇文章中&#xff0c;我们将介绍这款神奇的搜题ap…

chatgpt赋能python:有没有可以搜Python题目的软件?

有没有可以搜Python题目的软件&#xff1f; 如果您是一名Python程序员&#xff0c;您可能会发现在项目中遇到过各种各样的编码问题。与此同时&#xff0c;您也可能希望在不同的练习和考试中提高您的编程能力。在这些情况下&#xff0c;您需要一个便捷的方式来寻找Python编程问…

chatgpt赋能python:使用Python进行题目搜索:提高效率,精确切中目标

使用Python 进行题目搜索&#xff1a;提高效率&#xff0c;精确切中目标 在当今数字时代&#xff0c;互联网上充斥着大量的资料和文献&#xff0c;其中包括数以百万计的题目。对于学生和研究人员来说&#xff0c;题目是学习和研究的重要组成部分。然而&#xff0c;由于海量题目…

chatgpt赋能python:在哪里搜Python题

在哪里搜Python题 介绍 Python已经成为了最受欢迎的编程语言之一。Python的简洁性和易于学习使得它非常适合初学者和专业程序员。如果你正在寻找有趣的python题&#xff0c;有很多网站提供了丰富的题目和挑战。 这篇文章将会介绍一些最受欢迎的Python问题网站和有用的工具&a…

chatgpt赋能python:Python刷题:大有可为

Python刷题&#xff1a;大有可为 当谈到编程语言的多功能性时&#xff0c;Python是绝对的佼佼者。而且&#xff0c;还有机会用它来提高技术能力和找到新的工作机会。最佳的方法是通过关键词搜索寻找Python刷题网站&#xff0c;这些网站包含了各种不同难度和类型的问题。 为什…

chatgpt赋能Python-python123变成一二三

Python123变成一二三&#xff1a;Python编程入门推荐网站 介绍 Python是一种高级编程语言&#xff0c;由于其简单易学、代码清晰简洁、生态丰富等特点&#xff0c;在全球范围内被广泛应用于各个领域。如果你是一名编程初学者&#xff0c;那么Python绝对是一个非常不错的选择。…

chatgpt赋能Python-python_noj

Python NOJ - 一款适合Python学习者的在线编程环境 Python NOJ是一款在线的Python编程环境&#xff0c;其全称为Python Online Judge&#xff0c;是一款适合Python学习者使用的编程工具。接下来&#xff0c;我们将介绍其主要特点和优势&#xff0c;并探讨其与其他在线编程环境…

chatgpt赋能python:Python题库搜索:你必须知道的关键点和实用技巧

Python 题库搜索&#xff1a;你必须知道的关键点和实用技巧 作为一名拥有 10 年 Python 编程经验的工程师&#xff0c;我曾经多次遇到需要寻找 Python 题库的情况。在本文中&#xff0c;我将与大家分享一些有帮助的技巧和工具&#xff0c;以便更轻松地寻找 Python 题库。通过本…

这些IT行业趋势,将改变2023

上一周&#xff0c;你被"AI"刷屏了吗&#xff1f; 打开任何一家科技媒体&#xff0c;人工智能都是不变的热门话题。周初大家还在用ChatGPT写论文、查资料、写代码&#xff0c;到周末的时候大家已经开始用GPT-4图像识别来做饭、Microsoft 365 Copilot 来写PPT了。 GP…

在文档内容搜索这件事情上,它能比 ChatGPT 做的更好

公众号关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; 自 OpenAI 开放 GPT3.5/4 的 API 接口以来&#xff0c;不少人开始基于它来搭建本地知识库&#xff0c;并尝试用 AI 训练自己的客服系统、智能助理、法律或金融顾问等等。 但是&#xff0c;…

chatgpt赋能python:如何快速复制粘贴Python代码?

如何快速复制粘贴Python代码&#xff1f; 如果你是一名有10年Python编程经验的工程师&#xff0c;那么你一定知道Python的优点之一是它所拥有的简洁而优美的语法。然而&#xff0c;当你需要复制大量的Python代码时&#xff0c;手动复制粘贴会浪费很多时间和精力。 在本文中&a…

两年网罗13位扫地僧,阿里达摩院最新架构完整曝光

谁在驱动达摩院&#xff1f; 阿里达摩院&#xff0c;这是马云一手发起创办、并且是退休前最看重的人才聚集地。 号称要 3 年投入超1000 亿人民币&#xff0c;重点进行基础科学和颠覆式技术创新研究。 如今&#xff0c;2年已过&#xff0c;达摩院驱动下&#xff0c;阿里也有了新…

Github账户开启双重验证(two-factor authentication)

GitHub官方教程是这个&#xff1a;https://docs.github.com/en/github/authenticating-to-github/configuring-two-factor-authentication 但是过程没那么简单&#xff0c;先说一下大概&#xff1a; 大概是鼠标点头像旁边的小箭头&#xff0c;出现下图&#xff0c;然后点击Se…

IOS学习之——mac 图片无法在windows 显示(黑图的问题)

很多想要把mac png图片传给window 电脑上无法正常显示&#xff0c;有的显示白图&#xff0c;有的显示黑图&#xff0c;其实很简单&#xff0c;http://bbs.feng.com/read-htm-tid-3598951.html 打开这个网址 下载其中的内容&#xff0c; 转换一下就可以显示了。 显示效果如图

mac修改用户头像时显示照片图库未找到图片

上次重装系统后&#xff0c;导入时间机器的备份后&#xff0c;会有两个照片图库。或者不小心把原来的照片图库删了&#xff0c;之后再重新创建照片图库。这两种情况在修改用户头像的时候&#xff08;包括修改苹果ID账号的头像&#xff09;都会发现找不到默认的照片图库路径了&a…

Github 图床无法正常显示图片-解决

Github 图床无法正常显示图片-解决 前 言&#xff1a;此篇为上次搭建的 Typora PicGo Github 笔记系统续篇&#xff0c;解决 Github 图床无法正常显示图片问题。 方案一&#xff1a;补充本地的hosts文件 &#xff08;此前已设置过的请看方案二&#xff09; 1、打开文件&am…

Mac上浏览器无法联网的解决方法

最近更新了macOS Monterey 12.6.2&#xff0c;更新完之后发现自带的Safari浏览器与Google浏览器连不了网了&#xff0c;而其他应用程序依旧可以正常使用。排查一些原因后发现是DNS故障。下面提供解决方法。 步骤一&#xff1a; 桌面点击前往&#xff0c;选择前往文件夹 步骤二&…

移动硬盘在mac上无法显示 读不出来-(刷新)

实际上以下没有什么卵用的&#xff0c;等你操作完下面的&#xff0c;MAC已经实别出来了&#xff0c;实际就是等&#xff0c;等个10开分钟就好。特别是你硬盘使用量高的&#xff0c;mac需要时间去读取&#xff0c;因此其实USB插好&#xff0c;等就好了。 移动硬盘在mac上无法显示…