model ##### Multilingual models =================== XLM ---- xlm-clm-enfr-1024 ^^^^^^^^^^^^^^^^^ xlm-clm-enfr-1024是一个多语言预训练的语言模型,具有以下特征:: - 基于XLM(Facebook的跨语言预训练语言模型),支持100种语言。 - 预训练使用英语和法语语料,可以处理英语和法语文本。 - 输入为文本序列,输出对应的词向量表示。 - 模型大小为1GB,包含1024个隐层单元。 - 提供了XLMTokenizer用于文本tokenize,以及XLMWithLMHeadModel作为模型实现。 - 可以进行Masked语言建模(MLM)、Next Sentence Prediction(NSP)等下游任务fine-tuning。 - 预训练目标是联合 masked language modeling 和翻译语言建模。 - 采用SentencePiece进行词元化,支持词汇表共享。 - 支持PyTorch框架,可以灵活集成。 - 预训练质量高,是英语和法语领域的通用语言表示模型。 总之,xlm-clm-enfr-1024是一个高质量的跨语言预训练模型,可以作为英法两语区域NLP任务的强大预训练语言模型基线。 示例:: tokenizer = XLMTokenizer.from_pretrained("xlm-clm-enfr-1024") model = XLMWithLMHeadModel.from_pretrained("xlm-clm-enfr-1024") XLM with language embeddings:: xlm-mlm-ende-1024 (Masked language modeling, English-German) xlm-mlm-enfr-1024 (Masked language modeling, English-French) xlm-mlm-enro-1024 (Masked language modeling, English-Romanian) xlm-mlm-xnli15-1024 (Masked language modeling, XNLI languages) xlm-mlm-tlm-xnli15-1024 (Masked language modeling + translation, XNLI languages) xlm-clm-enfr-1024 (Causal language modeling, English-French) xlm-clm-ende-1024 (Causal language modeling, English-German) XLM without language embeddings:: xlm-mlm-17-1280 (Masked language modeling, 17 languages) xlm-mlm-100-1280 (Masked language modeling, 100 languages) xlm-mlm-ende-1024 ^^^^^^^^^^^^^^^^^ xlm-mlm-ende-1024是一个多语言Mask语言模型(MLM),主要功能和特点包括:: - 该模型由Facebook AI研究院在2019年提出,支持100种语言。 - 采用Transformer架构,并在编码器部分进行多语言预训练。 - 预训练目标是masked language modeling (MLM),即预测被遮挡的语言词汇。 - 支持1024个Transformer块,参数量约为570亿。 - 训练数据包含100种语言的维基百科文本数据,总计约250GB。 - 支持跨语言的表示学习,一个模型就可以处理100种语言。 - 通过在大规模多语言数据集上预训练,获得了强大的语言理解能力。 - xlm-mlm-ende-1024是一个通用的多语言语义表示模型,可应用于下游跨语言自然语言处理任务中。 - 开源发布后受到广泛关注,被视为多语言预训练模型的重要进展。 XLM-RoBERTa ----------- The following XLM-RoBERTa models can be used for multilingual tasks:: xlm-roberta-base (Masked language modeling, 100 languages) xlm-roberta-large (Masked language modeling, 100 languages) M2M100 ------ The following M2M100 models can be used for multilingual translation:: facebook/m2m100_418M (Translation) facebook/m2m100_1.2B (Translation) facebook/m2m100_418M ^^^^^^^^^^^^^^^^^^^^ facebook/m2m100_418M 是一个大型的多语言对多语言机器翻译模型,由 Facebook AI 研究院训练并开源。 主要特点:: 采用 Transformer 架构,基于 Fairseq 代码库实现。 训练数据包括 100 种语言对,总计 418 万对句子。覆盖语言非常广泛。 支持直接端到端多语言翻译,不需要中继语言。 性能较强,在 WMT、Flores 翻译测试集上表现良好。 模型大小为 1.1GB (半精度),inference 速度快。 开源且无需许可,可以自由使用在商业产品中。 预训练模型可直接下载使用,简单方便。 支持添加自定义词典来改进翻译质量。 可在 CPU、GPU 等硬件上部署,适合不同场景。 整体来说,这是一个非常强大且实用的多语言机器翻译模型,值得推荐使用。它的开源特性也使其易于集成到各种产品和服务中。 m2m100_418M是Facebook在2022年开源的一个多模态大模型,主要特征是:: - 采用Transformer作为模型架构,包含文本编码器和视觉编码器。 - 文本编码器采用T5结构,视觉编码器采用Vision Transformer结构。 - 模型参数量达到418亿,使用了大量训练数据,包括4000万张图像和1700万段文本。 - 训练目标是进行视觉问答,即根据图片内容来回答自然语言问题。 - 模型支持100种语言,可以进行跨语言的视觉问答。 - 开源的模型包括英文、德文、法文、意大利文、日文、韩文、简体中文、繁体中文等版本。 - m2m100展示了视觉与语言的多模态预训练的强大能力,是一种统一的多语言多模态模型。 - 该模型仍然有进一步提升的空间,后续工作将会在模型规模、训练数据、泛化能力等方面进行改进。 示例:: tokenizer = M2M100Tokenizer.from_pretrained("facebook/m2m100_418M", src_lang="zh") model = M2M100ForConditionalGeneration.from_pretrained("facebook/m2m100_418M") chinese_text = "不要插手巫師的事務, 因為他們是微妙的, 很快就會發怒." encoded_zh = tokenizer(chinese_text, return_tensors="pt") generated_tokens = model.generate(**encoded_zh, forced_bos_token_id=tokenizer.get_lang_id("en")) tokenizer.batch_decode(generated_tokens, skip_special_tokens=True) wav2vec2 ======== facebook/wav2vec2-base ---------------------- facebook/wav2vec2-base是一个由Facebook AI研究院训练的音频表示模型,属于Wav2Vec2系列。该模型的主要特点是:: - 无监督预训练:在大规模语音数据上通过自监督学习获得语音表示,没有标签数据。 - 基于 transformers:模型结构基于transformers,包含时间和频域的卷积层,多层自注意力机制。 - 输出语音表示:模型可以直接输出语音的表征向量表示,包含丰富的语义信息。 - 小模型大小:相比BERT系列,wav2vec2-base模型大小更小,只有95M参数。 - 应用广泛:预训练表示可 Fine-tune 在各种下游语音任务,包括语音识别、音频分类等。 - 性能优异:在多个公开语音数据集上表现优于传统MFCC特征。 - 易于使用:提供了方便的API,可以快速应用到项目中。 总体来说,wav2vec2-base是一个非常强大的语音表示模型,具有预训练的优势,可以广泛地应用到语音领域的任务中,是音频领域很有价值的预训练模型之一。 示例:: # For Audio Classification feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/wav2vec2-base") model = AutoModelForAudioClassification.from_pretrained("facebook/wav2vec2-base") # For ASR processor = AutoProcessor.from_pretrained("facebook/wav2vec2-base") model = AutoModelForCTC.from_pretrained("facebook/wav2vec2-base") Text to speech ============== suno/bark --------- * https://github.com/suno-ai/bark suno/bark是一个语音合成模型,具有以下特征:: - 基于Facebook的BARK模型,可以生成高质量的英语语音。BARK采用流式设计,可以快速生成语音。 - 预训练模型suno/bark已在LibriTTS英语语料库上进行fine-tune,可以生成自然的英语语音。 - 输入为英文文本,输出为16kHz采样率的单声道语音波形。 - 模型大小仅有87MB,非常轻量级,适合在各种环境下部署。 - 支持PyTorch和TensorFlow两种框架,可以灵活地集成到不同的项目中。 - 提供了AutoProcessor和BarkModel两个类,可以通过简单的API进行语音合成。 - 预训练模型质量较高,合成语音清晰流畅,语调自然。 - Open-source社区维护,后续会继续优化和完善模型。 总体来说,suno/bark是一个非常理想的英语TTS模型选择,可直接用于产品中,同时也为研究人员提供了一个优秀的语音合成基线。 示例:: processor = AutoProcessor.from_pretrained("suno/bark") model = BarkModel.from_pretrained("suno/bark") Whisper ------- Whisper 是一个面向文本的非常大规模的神经网络模型,由 OpenAI 于 2022 年 9 月开源。其主要特点包括:: 模型规模巨大,包含了 1000 亿参数,是目前公开的最大的参数量模型之一。 基于 Transformers 架构,采用了类似 GPT 的编码器 - 解码器结构。 可以直接对原始语音进行识别转录,也可生成人类语音。 训练数据集包含了 660,000 小时 (合 75 年) 的语音数据,涵盖多种语言。 采用了一些技术来控制生成内容的安全性。 拥有语音识别、语音合成、文字转语音、语音翻译等多种应用潜力。 目前还有一定局限,如音素错误、语法错误、生成可信信息等。 对未来 voice AI 技术产生重大影响,代表语音 AI 发展新方向。 研究引发了对大模型安全性、伦理规范等方面的广泛关注和讨论。 总体来说,Whisper 是一个划时代的大模型,预示着语音 AI 进入新的阶段,但也给社会带来新的挑战。 ImageClassification =================== ViT --- Google发布的一个VISION Transformer(ViT)模型。 google/vit-base-patch16-224-in21k --------------------------------- 这是一个在大规模图像数据集ImageNet-21k上预训练的Transformer模型,用于计算机视觉领域。其主要特点如下:: - 基于Transformer:利用自注意力机制Capture全局信息。 - Patch分割:输入图片被分割为16x16的patches,每个patch生成一个向量。 - 大模型规模:Base模型包含86M参数。 - 高精度:top-1准确率可达83%。 - 预训练数据:使用了包含1400万张图像、21741分类的ImageNet-21k数据集。 - 易fine-tune:可以在下游任务中加入新的头部进行迁移Fine-tuning。 - 占用内存小:比 CNN 模型更高效。 这个ViT模型展示了Transformer在计算机视觉领域也可以取得非常强大的效果。可以用来进行图像分类、对象检测等任务。在下游任务中只需要加入新的分类头,就可以进行端到端的Fine-tuning,做出非常高精度的图像分类器。 示例:: checkpoint = "google/vit-base-patch16-224-in21k" image_processor = AutoImageProcessor.from_pretrained(checkpoint) model = AutoModelForImageClassification.from_pretrained( checkpoint, num_labels=len(labels), id2label=id2label, label2id=label2id, ) SemanticSegmentation ==================== nvidia/mit-b0 ------------- nvidia/mit-b0是一个针对语义分割预训练的Transformer模型,由Nvidia基于Megatron框架训练获得。其关键特征为:: - 模型结构:基于Vision Transformer,使用分割注意力机制。 - 预训练任务:在ADE20K数据集上进行像素级预测进行预训练。 - 模型规模:基础版本mit-b0包含32M参数。 - 输入分辨率:高512,宽512。 - 速度快:基础版本可达到每秒处理8幅图像。 - 性能卓越:在多个语义分割数据集上达到或超越CNN模型的效果。 - 易于fine-tune:可在downstream任务中直接fine-tune。 - 可扩展性强:提供了小型到超大型的系列模型。 nvidia/mit-b0展示了Transformer模型在语义分割领域也可以达到极强的效果,甚至超过现有CNN模型。它可以作为通用的语义分割预训练模型,然后fine-tune到各种下游分割任务中,实现快速高效的语义分割。整体来说,该模型为Transformer在计算机视觉更广阔的应用提供了有力案例。 示例:: checkpoint = "nvidia/mit-b0" image_processor = AutoImageProcessor.from_pretrained(checkpoint, reduce_labels=True) model = AutoModelForSemanticSegmentation.from_pretrained(checkpoint, id2label=id2label, label2id=label2id) ZeroShotObjectDetection ======================= Owl-ViT ------- Owl-ViT是一种改进的Vision Transformer (ViT) 模型架构,主要特点是:: - 提出了一种称为本地分组自注意力(Locally Grouped Self-Attention)的机制,对ViT的自注意力机制进行改进,使其对小尺寸图像也更有效。 - 将图像划分成较小的非重叠patch,然后在每个局部邻域内学习patch之间的关系。 - 引入了多尺度结构,不同级别的注意力模块负责不同的视野范围,既保留全局信息,也学习局部细节。 - 通过引入残差连接,缓解了自注意力模块堆叠导致的过拟合问题。 - 相比ViT,Owl-ViT的参数量和计算量更小,训练速度更快。 - 在多个视觉任务上性能优于ViT,尤其在小样本和低分辨率图像上。 总体来说,Owl-ViT对ViT进行了改进,使其更适合计算资源受限而数据不足的实际场景。它比ViT参数量减小60%以上,计算量减小70%以上,但性能优于ViT。Owl-ViT是一个轻量高效的ViT改进版本。 google/owlvit-base-patch32 -------------------------- google/owlvit-base-patch32是一个基于Owl-ViT模型架构的图像分类预训练模型,主要特点如下:: - 发布者:Google。 - 模型结构:Owl-ViT-B,采用Vision Transformer的网络架构。 - 输入:32x32大小的图像patch,形状为[3, 32, 32]。 - 预训练数据集:JFT-300M数据集,包含3亿张图像。 - 预训练任务:图像分类,可以区分3000个类别。 - 模型参数量:8600万。 - 应用:适用于迁移学习,可以初始化下游任务的backbone。在图像分类、目标检测等任务上有很好的表现。 - 权重文件大小:336MB。 - 推理速度快,是实际部署的理想选择。 Owl-ViT改进了ViT的局部注意力机制,使其对小尺寸图像也适用。google/owlvit-base-patch32是一个计算成本低但效果强劲的图像分类预训练模型,适合在各种视觉任务中使用。它是一个高效实用的选择。 示例:: checkpoint = "google/owlvit-base-patch32" model = AutoModelForZeroShotObjectDetection.from_pretrained(checkpoint) processor = AutoProcessor.from_pretrained(checkpoint) # pipeline pipeline(model=checkpoint, task="zero-shot-object-detection") ZeroShotImageClassification =========================== openai/clip-vit-large-patch14 ----------------------------- 示例:: checkpoint = "openai/clip-vit-large-patch14" model = AutoModelForZeroShotImageClassification.from_pretrained(checkpoint) processor = AutoProcessor.from_pretrained(checkpoint) # pipeline detector = pipeline(model=checkpoint, task="zero-shot-image-classification") ObjectDetection =============== DETR ---- DETR(End-to-End Object Detection with Transformers)是Facebook AI研究院在2020年提出的使用Transformers进行端到端目标检测的新颖模型。其主要特点包括:: - 整体网络结构端到端,无需NMS后处理 - 利用Transformer直接预测目标类别和坐标 - 训练过程更稳定,从零训练也可收敛 facebook/detr-resnet-50 ----------------------- facebook/detr-resnet-50是一个基于DETR架构的目标检测预训练模型。该模型使用ResNet-50作为Backbone,在COCO数据集上预训练,主要参数:: - Backbone: ResNet-50 - Transformer Encoder包含6层 - 80类对象检测 - 输入图像尺寸为800 facebook/detr-resnet-50展示了Transformer模型在目标检测任务上的有效性,端到端 learns 到了检测的能力。效果竞争力强,是目标检测领域的重要低设计模型之一。 facebook/detr-resnet-50是一个基于transformers的目标检测模型,其应用场景主要包括:: 1. 通用目标检测: 该模型在COCO等通用目标检测数据集上效果优异,可以应用到需要检测日常物体的各种场景中,如视频监控、自动驾驶、图像搜索等。 2. 特定目标检测: 模型可以进行fine-tuning,适应特定目标检测任务,如质检、医疗等领域的特定物体检测。 3. 小数据集学习: 相比传统方法,DETR对数据量要求不高,适合小数据集的目标检测任务。 4. 端到端学习: DETR通过端到端学习预测目标框,无需后处理,使得部署简单。适用于对系统流程敏感的应用。 5. 强化学习: DETR的学习过程稳定,适合和强化学习算法相结合,实现模仿学习等功能。 6. 前沿研究: DETR开辟了transformer在目标检测领域的新方向,可以进行各种改进的学术研究。 总之,facebook/detr-resnet-50在多种实际目标检测应用中都展示了较强的泛化能力,是目前较为先进的检测模型之一。其端到端学习方式也启发了后续一系列detection transformer的提出。 示例:: checkpoint = "facebook/detr-resnet-50" image_processor = AutoImageProcessor.from_pretrained(checkpoint) model = AutoModelForObjectDetection.from_pretrained( checkpoint, id2label=id2label, label2id=label2id, ignore_mismatched_sizes=True, ) vinvino02/glpn-nyu ------------------ vinvino02/glpn-nyu是一个针对深度估计(monocular depth estimation)任务进行预训练的模型,主要特点如下:: - 该模型基于GLPN架构,通过encoder-decoder结构进行单眼图像深度预测。 - 数据集方面,该模型是在NYU Depth V2数据集上预训练的,这是一个包含各种室内场景的RGB-D数据集。 - 输入是标准分辨率的RGB图像,输出是与输入分辨率相同的深度图。 - 模型主要组件包括:ResNet50作为encoder,U-Net作为decoder,还使用了红外线辅助训练。 - 在NYU Depth V2测试集上可以达到leading performance,mean relative error为0.131。 - 相比其他深度学习方法,该模型可以更好地学习纹理细节,recover更丰富的场景结构信息。 - 预训练模型大小约为47MB,可以快速加载使用或在自定义数据集上fine-tune。 - 可通过PyTorch Hub快速加载使用。 总而言之,vinvino02/glpn-nyu是一个轻量而高效的深度估计预训练模型,尤其适合在室内场景中进行单眼深度预测或相关下游任务的fine-tuning,值得尝试使用。 示例:: checkpoint = "vinvino02/glpn-nyu" image_processor = AutoImageProcessor.from_pretrained(checkpoint) model = AutoModelForDepthEstimation.from_pretrained(checkpoint) # pipeline depth_estimator = pipeline("depth-estimation", model=checkpoint) microsoft/git-base ------------------ 示例:: checkpoint = "microsoft/git-base" processor = AutoProcessor.from_pretrained(checkpoint) model = AutoModelForCausalLM.from_pretrained(checkpoint) VideoMAE ======== MCG-NJU/videomae-base --------------------- MCG-NJU/videomae-base是一个基于VideoMAE的视频分类预训练模型。VideoMAE是由MCG-NJU团队在2022年提出的用于视频理解的MASKED AUTOENCODER(MAE)模型。其特点是:: - 基于MAE框架,使用MASKING策略进行视频预训练。 - 输入是视频序列的打散帧(Shuffled Tokens)。 - 编码器采用TimeSformer结构。 - 可以在各类视频理解任务中进行微调使用。 - 先进的视频表示学习能力。 MCG-NJU/videomae-base是在大规模视频数据上预训练得到的VideoMAE基础模型,主要参数:: - TimeSformer编码器包含21个阶段,107M参数。 - 在8900万视频上预训练,总时长超过9000小时。 - 预训练任务是预测视频帧顺序。 该模型展示了Transformer模型在视频领域的强大建模能力。 fine-tune后效果显著,特别是在小数据集上的低样本学习。是近期较为先进的视频理解预训练模型之一。 MULTIMODAL ========== microsoft/layoutlmv2-base-uncased --------------------------------- 模型 "microsoft/layoutlmv2-base-uncased" 是由微软开发的一种预训练语言模型,属于 LayoutLMv2 模型系列。这个模型的主要目标是处理文档布局和文本信息的结合,以便更好地支持文档分析、信息提取和相关任务。 与传统的自然语言处理模型不同,LayoutLMv2 关注的是将文本与其在页面中的布局信息相结合,从而使模型能够更好地理解和处理具有多个文本区域、表格、图像和其他排版元素的文档。这对于诸如表格数据提取、文档分类、命名实体识别等任务非常有用。 "microsoft/layoutlmv2-base-uncased" 模型是一个预训练模型,使用了无大小写区分的文本(uncased text)作为输入。这意味着它对于大小写不敏感,能够处理大小写不同的文本。通过预训练,模型学会了从文本和布局信息中抽取有关上下文、语义和结构的特征。 使用这个预训练模型,您可以通过微调(fine-tuning)适应特定的任务,如文本分类、命名实体识别、表格数据提取等。模型的预训练能力使其能够在不同的文档分析任务中表现出色,因为它已经学会了从文本和布局信息中获取有价值的信息。 总之,"microsoft/layoutlmv2-base-uncased" 模型是一种专注于处理带有布局信息的文本的预训练模型,可用于各种文档分析和信息提取任务。