Camembert Base
模型简介
CamemBERT是基于RoBERTa架构的法语预训练语言模型,专门针对法语文本进行优化,适用于各种自然语言处理任务。
模型特点
法语优化
专门针对法语文本进行预训练和优化
多版本选择
提供6种不同版本,包括基础版和大型版,适应不同需求
高效预训练
基于RoBERTa架构,采用更高效的预训练方法
模型能力
法语文本理解
掩码语言建模
上下文嵌入提取
文本特征表示
使用案例
自然语言处理
文本补全
预测被掩码遮盖的单词
示例中成功预测'Le camembert est un fromage de chèvre!'
特征提取
提取文本的上下文嵌入特征
可获取各层的上下文嵌入表示
🚀 CamemBERT:美味的法语语言模型
CamemBERT 是一个基于 RoBERTa 模型的最先进的法语语言模型。它为法语自然语言处理任务提供了强大的支持,能够在多种应用场景中发挥出色的性能。
目前,CamemBERT 在 Hugging Face 上提供了 6 种不同版本,这些版本在参数数量、预训练数据量和预训练数据源领域等方面存在差异,用户可以根据自己的需求进行选择。
如需获取更多信息或提出请求,请访问 Camembert 官网。
✨ 主要特性
- 多版本选择:提供 6 种不同参数规模和预训练数据的版本,满足多样化的应用需求。
- 强大性能:基于 RoBERTa 架构,在法语自然语言处理任务上表现出色。
- 易于使用:与 Hugging Face 库集成,方便加载和使用。
📦 安装指南
文档中未提及具体安装步骤,若需使用 CamemBERT,可通过 Hugging Face 的 transformers
库进行安装,一般安装命令如下:
pip install transformers
💻 使用示例
基础用法
from transformers import CamembertModel, CamembertTokenizer
# 你可以将 "camembert-base" 替换为表格中的其他模型,例如 "camembert/camembert-large"。
tokenizer = CamembertTokenizer.from_pretrained("camembert/camembert-base-wikipedia-4gb")
camembert = CamembertModel.from_pretrained("camembert/camembert-base-wikipedia-4gb")
camembert.eval() # 禁用 dropout(或保留训练模式以进行微调)
高级用法
填充掩码
from transformers import pipeline
camembert_fill_mask = pipeline("fill-mask", model="camembert/camembert-base-wikipedia-4gb", tokenizer="camembert/camembert-base-wikipedia-4gb")
results = camembert_fill_mask("Le camembert est un fromage de <mask>!")
# results
#[{'sequence': '<s> Le camembert est un fromage de chèvre!</s>', 'score': 0.4937814474105835, 'token': 19370},
#{'sequence': '<s> Le camembert est un fromage de brebis!</s>', 'score': 0.06255942583084106, 'token': 30616},
#{'sequence': '<s> Le camembert est un fromage de montagne!</s>', 'score': 0.04340197145938873, 'token': 2364},
# {'sequence': '<s> Le camembert est un fromage de Noël!</s>', 'score': 0.02823255956172943, 'token': 3236},
#{'sequence': '<s> Le camembert est un fromage de vache!</s>', 'score': 0.021357402205467224, 'token': 12329}]
从 Camembert 输出中提取上下文嵌入特征
import torch
# 使用 SentencePiece 进行子词分词
tokenized_sentence = tokenizer.tokenize("J'aime le camembert !")
# ['▁J', "'", 'aime', '▁le', '▁ca', 'member', 't', '▁!']
# 进行 one-hot 编码并添加特殊的起始和结束标记
encoded_sentence = tokenizer.encode(tokenized_sentence)
# [5, 221, 10, 10600, 14, 8952, 10540, 75, 1114, 6]
# 注意:可以一步完成:tokenize.encode("J'aime le camembert !")
# 将标记作为 torch 张量输入到 Camembert 中(批次维度为 1)
encoded_sentence = torch.tensor(encoded_sentence).unsqueeze(0)
embeddings, _ = camembert(encoded_sentence)
# embeddings.detach()
# embeddings.size torch.Size([1, 10, 768])
#tensor([[[-0.0928, 0.0506, -0.0094, ..., -0.2388, 0.1177, -0.1302],
# [ 0.0662, 0.1030, -0.2355, ..., -0.4224, -0.0574, -0.2802],
# [-0.0729, 0.0547, 0.0192, ..., -0.1743, 0.0998, -0.2677],
# ...,
从所有 Camembert 层中提取上下文嵌入特征
from transformers import CamembertConfig
# (需要使用新配置重新加载模型)
config = CamembertConfig.from_pretrained("camembert/camembert-base-wikipedia-4gb", output_hidden_states=True)
camembert = CamembertModel.from_pretrained("camembert/camembert-base-wikipedia-4gb", config=config)
embeddings, _, all_layer_embeddings = camembert(encoded_sentence)
# all_layer_embeddings 列表长度为 13(输入嵌入层 + 12 个自注意力层)
all_layer_embeddings[5]
# 第 5 层上下文嵌入:大小为 torch.Size([1, 10, 768])
#tensor([[[-0.0059, -0.0227, 0.0065, ..., -0.0770, 0.0369, 0.0095],
# [ 0.2838, -0.1531, -0.3642, ..., -0.0027, -0.8502, -0.7914],
# [-0.0073, -0.0338, -0.0011, ..., 0.0533, -0.0250, -0.0061],
# ...,
📚 详细文档
预训练模型
属性 | 详情 |
---|---|
模型类型 | camembert-base 、camembert/camembert-large 、camembert/camembert-base-ccnet 、camembert/camembert-base-wikipedia-4gb 、camembert/camembert-base-oscar-4gb 、camembert/camembert-base-ccnet-4gb |
训练数据 | OSCAR(138 GB 文本)、CCNet(135 GB 文本)、Wikipedia(4 GB 文本)、OSCAR 子样本(4 GB 文本)、CCNet 子样本(4 GB 文本) |
模型 | 参数数量 | 架构 | 训练数据 |
---|---|---|---|
camembert-base |
1.1 亿 | 基础 | OSCAR(138 GB 文本) |
camembert/camembert-large |
3.35 亿 | 大型 | CCNet(135 GB 文本) |
camembert/camembert-base-ccnet |
1.1 亿 | 基础 | CCNet(135 GB 文本) |
camembert/camembert-base-wikipedia-4gb |
1.1 亿 | 基础 | Wikipedia(4 GB 文本) |
camembert/camembert-base-oscar-4gb |
1.1 亿 | 基础 | OSCAR 子样本(4 GB 文本) |
camembert/camembert-base-ccnet-4gb |
1.1 亿 | 基础 | CCNet 子样本(4 GB 文本) |
🔧 技术细节
文档中未提供足够详细的技术实现细节。
📄 许可证
本项目采用 MIT 许可证。
👥 作者
CamemBERT 由 Louis Martin*、Benjamin Muller*、Pedro Javier Ortiz Suárez*、Yoann Dupont、Laurent Romary、Éric Villemonte de la Clergerie、Djamé Seddah 和 Benoît Sagot 进行训练和评估。
📖 引用
如果您使用了我们的工作,请引用以下文献:
@inproceedings{martin2020camembert,
title={CamemBERT: a Tasty French Language Model},
author={Martin, Louis and Muller, Benjamin and Su{\'a}rez, Pedro Javier Ortiz and Dupont, Yoann and Romary, Laurent and de la Clergerie, {\'E}ric Villemonte and Seddah, Djam{\'e} and Sagot, Beno{\^\i}t},
booktitle={Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics},
year={2020}
}
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98