AI生态中的常用名词学习整理
AI生态中的常用名词学习整理PyTorch (和 TensorFlow)TransformersSentence-TransformersHugging Face (平台)TokenizerAI生态图在AI生态系统PyTorch/TensorFlowSentence-TransformersTransformersHugging Face等是较为常见的名词。它们的关系可以用一个比喻来理解PyTorch/TensorFlow 就像是汽车发动机和底盘提供最基础的动力和框架Transformers 就像是已经造好的、各种型号的豪华跑车基于发动机和底盘提供特定且强大的功能Sentence-Transformers 就像是专门为F1赛道优化的顶级赛车它是基于Transformers“跑车”专门为“句子嵌入”这个赛道改装Hugging Face 就像是世界上最大的汽车交易市场、改装厂和赛车俱乐部它提供了存放“跑车”的仓库、改装工具以及大家交流的社区。PyTorch (和 TensorFlow)角色基础深度学习框架功能它是一个由 Facebook (现 Meta) AI 研究院开源的 Python 库提供了构建、训练和部署深度学习模型所需的最核心的张量计算和自动求导功能。你可以把它想象成乐高积木的基础积木块。关系它是这一切的基础。Transformers 库内部就是使用 PyTorch (或 TensorFlow/JAX) 来实现模型的计算的。Transformers角色预训练模型库功能由 Hugging Face 开发并维护的 Python 库。它提供了数万个预训练好的现代自然语言处理 (NLP) 模型如 BERT, GPT, T5, RoBERTa并提供了统一的 API 来加载、使用和微调这些模型。核心价值标准化和易用性。它把各种复杂模型的使用方式统一成了几个简单的类如 AutoModel, AutoTokenizer让研究人员和开发者无需关心底层框架PyTorch/TensorFlow的差异就能轻松调用最先进的模型。关系它严重依赖于 PyTorch 或 TensorFlow 作为其计算后端。它是一个在基础框架之上构建的、专门针对 NLP 领域的工具库。Sentence-Transformers角色为句子和文本嵌入任务特化的预训练模型库功能它是基于 Transformers 库构建的一个专门分支。它的目标非常明确将句子、段落或整个文档转换为高维向量嵌入。这些向量可以用于语义搜索、聚类、信息检索、重复检测等任务。核心价值易用的句子嵌入。虽然可以用原始的 Transformers 库自己写代码来生成句子向量但过程繁琐且效果不一定好。Sentence-Transformers库封装了所有最佳实践并提供了大量专门为生成高质量句子向量而训练好的模型如 all-MiniLM-L6-v2让一两行代码就能得到最好的效果。关系它是 Transformers 库的一个子集或特化版本。它建立在 Transformers 之上专注于解决一个特定的问题。Hugging Face (平台)角色AI 开源社区和平台功能它是一个提供全方位服务的平台核心包括Model Hub (模型中心)一个像 GitHub 一样的仓库托管了超过几十万个由社区共享的预训练模型包括 Transformers 格式和 很多其他格式的模型。Dataset Hub (数据集中心)托管了大量的公开数据集。Spaces允许用户直接在上面部署和演示自己的 AI 应用如 Gradio 或 Streamlit 应用。库和工具开发和维护了 Transformers, Datasets, Accelerate 等核心开源库。推动标准化工具如 Transformers 库、vLLM 推理引擎关系它是AI开源生态系统的组织者和核心枢纽。Transformers 和 Sentence-Transformers 库都是由 Hugging Face 公司创建和维护的。PyTorch 则是由Meta独立维护的。OpenAI是美国头部 AI 公司以闭源模型如 GPT-4o、O 系列为核心通过 API 服务和订阅制如 ChatGPT Plus盈利。DeepSeek是中国AI公司以开源、低成本和垂直优化为核心竞争力其模型是Hugging Face平台下载量最较的模型。使用由于网络原因国内直接从Hugging Face下载模型和数据集可能会遇到速度慢或失败的问题。以下是推荐的国内镜像源及其使用方法1.HF-Mirror推荐HF-Mirror是一个由国内开发者维护的公益性质的Hugging Face镜像服务站。官网地址https://hf-mirror.com特点提供稳定、快速的模型与数据集下载。支持 huggingface-cli 命令行工具。支持通过环境变量进行无侵入式加速。提供基于 aria2 的高速下载脚本 hfd。支持需要授权Gated Repo的模型下载。2.使用方法通过环境变量设置最常用影响范围广设置环境变量 HF_ENDPOINT 后大多数基于 huggingface_hub 库的工具如 transformers, datasets都会自动使用镜像站。Linux/macOS (终端):export HF_ENDPOINThttps://hf-mirror.com可以将这行命令添加到 ~/.bashrc 或 ~/.zshrc 中使其永久生效echo ‘export HF_ENDPOINThttps://hf-mirror.com’ ~/.bashrcsource ~/.bashrcWindows (PowerShell):powershell$env:HF_ENDPOINT “https://hf-mirror.com”要永久生效可以在系统环境变量中设置在Python代码中照常使用from_pretrained() 等方法即可。fromtransformersimportAutoModel,AutoTokenizer modelAutoModel.from_pretrained(bert-base-uncased)# 会自动从镜像站下载使用huggingface-cli下载安装CLI工具并设置环境变量后可以直接下载模型或数据集。安装CLI工具bashpip install -U huggingface_hub确保已设置 HF_ENDPOINT 环境变量下载模型或数据集下载模型huggingface-cli download --resume-download gpt2 --local-dir ./gpt2-model下载数据集huggingface-cli download --repo-type dataset --resume-download wikitext --local-dir ./wikitext-data–resume-download: 支持断点续传。–local-dir: 指定本地存储目录。使用 hfd 高速下载工具适合大模型hfd 是一个封装了 aria2 多线程下载能力的脚本下载大型模型文件时速度更快。确保系统已安装 aria2Ubuntu/Debiansudo apt install aria2CentOS/RHELsudo yum install aria2macOS (使用Homebrew)brew install aria2下载 hfd.sh 脚本bashwget https://hf-mirror.com/hfd/hfd.shchmod x hfd.sh使用 hfd 下载同样需要先设置 HF_ENDPOINT 环境变量bash./hfd.sh deepseek-ai/deepseek-llm-67b网页直接下载访问镜像站官网 https://hf-mirror.com像使用原版Hugging Face网站一样搜索模型或数据集然后直接点击文件下载即可。注意事项代理冲突如果你使用了科学上网工具VPN可能会与镜像站设置冲突导致下载失败。使用时请关闭全局代理或VPN。授权模型Gated Repo下载需要授权的模型如 LLaMA 系列时需要在 huggingface.co 官网申请权限并获得 Access Token。在使用 huggingface-cli 或 hfd 时通过 --token 参数提供 token。huggingface-cli download meta-llama/Llama-2-7b --token hf_yourActualTokenHere或者使用 hfd./hfd.sh meta-llama/Llama-2-7b --hf_username your_username --hf_token hf_yourActualTokenHere国内类似 Hugging Face 的平台除了使用镜像站国内也有一些平台提供了类似的模型共享、托管和开发体验。以下是部分国内平台的不完全列举平台名称主要特点链接Modelscope (魔搭社区)由阿里巴巴达摩院推出托管了大量中文和多模态模型提供丰富的Notebook和API体验环境。https://modelscope.cnOpenI 启智社区依托国家新一代人工智能开源社区提供开源协作、算力支持和资源托管。https://openi.cnWisemodel旨在打造中国版的“HuggingFace”汇集了清华大学和智谱研究团队提供的chatglm2-6B、Stable Diffusion V1.5等模型和数据集。https://wisemodel.cn百度文心大模型百度推出的文心大模型系列提供API和开发工具。https://wenxin.baidu.com讯飞星火认知大模型科大讯飞推出的星火大模型提供API和开发接口。https://xinghuo.xfyun.cn如何选择如果目标是快速下载国际社区如Hugging Face 上的模型和数据集HF-Mirror镜像站是目前最直接、最通用的解决方案。如果更关注中文模型、本地化体验或国内生态可以多探索 Modelscope 和 Wisemodel 等国内平台。许多云厂商如阿里云百炼、百度千帆、华为云等也提供了各自的大模型开发平台通常深度集成其自家模型和工具链。Tokenizer角色Tokenizer是自然语言处理NLP中的基础组件负责将原始文本转换为模型可以理解的数值形式。功能它的核心任务是将人类熟悉的、连续的自然语言文本拆分成模型能够处理的、离散的基本单元tokens并将其转换为数值ID。它的主要作用体现在以下几个方面文本预处理这是Tokenizers在NLP任务中不可或缺的预处理步骤它的核心功能是将原始文本分割成可处理的单元——tokens。这些tokens可以是单词、子词、字符或自定义的token等。适应模型输入大多数深度学习模型要求输入数据是数值型的向量形式。tokenizer负责将文本转换为整数序列这些整数代表了词汇表中的特定token这样模型就可以对这些数字进行计算和学习。处理边界与未知词Tokenizers可以帮助解决自然语言中的复杂边界问题如处理未知词汇、标点符号、大小写敏感性等问题以及处理不同语言的特性例如中文分词与英文单词划分的不同。通过子词划分如WordPiece, BPE它能有效处理训练时未见过的词汇OOV问题。影响模型性能Tokenizer的选择直接影响模型的词汇量、处理未登录词的能力和输入序列的长度进而影响模型的表达能力、泛化能力和计算效率。常见的Tokenizer类型主要有以下几种类型特点代表模型基于空格的Tokenizer简单快速直接按空格分割文本但无法很好处理复合词或未登录词。一些早期或简单的模型规则基础的Tokenizer使用预定义的规则如正则表达式分割文本比基于空格的方法更灵活但仍然有限。NLTK 的 RegexpTokenizer子词 Tokenizer将文本分割成子词单元能有效处理未登录词提高模型的泛化能力是现代LLM的主流方法。BERT, GPT, T5 等WordPiece类似于BPE但选择合并操作时考虑对语言模型的增益。BERTUnigram Language Model基于语言模型的方法通过优化token集来最大化似然。XLNetAI生态图局限于知识的局限以下是笔者画的大致的AI生态图愿你我都能在各自的领域里不断成长勇敢追求梦想同时也保持对世界的好奇与善意!