HuggingFace 上的顶级 LLM 模型表现优于 GPT 变体
您好,欢迎来到我的博客!今天我将与您分享一些您可以在 Hugging Face 上找到的比 GPT 更好的最佳 LLM 模型。如果您想知道LLM是什么,它们是大型语言模型,可以根据某些输入生成文本。他们接受了大量数据的训练,可以学习模仿不同风格、流派和领域的文本。它们也非常强大且用途广泛,因为它们可用于各种任务,例如文本摘要、问答、文本生成等。
但为什么它们比 GPT 更好呢? GPT 是由 OpenAI 开发的非常受欢迎且令人印象深刻的LLM。它有多个版本,例如 GPT-2、GPT-3 和 GPT-J,它们具有不同的尺寸和功能。然而,GPT 并不是唯一的LLM,不同的研究人员和组织创建的许多其他模型可以在某些方面与 GPT 相媲美甚至超越。在这篇博文中,我将向您介绍其中一些模型,并向您展示如何将它们与 Hugging Face 一起使用。
Hugging Face 是一个令人惊叹的平台,提供对超过 12 万个模型、2 万个数据集和 5 万个演示应用程序 (Spaces) 的访问,所有这些都是开源且公开的。您可以通过 Transformers 库轻松浏览、下载和使用这些模型,Transformers 库是一个 Python 库,提供了一种用户友好且有效的方法来使用 LLM。您还可以向 Hugging Face Hub 贡献自己的模型和数据集,并与社区中的其他用户和专家协作。
因此,言归正传,让我们来看看您可以在 Hugging Face 上找到的一些比 GPT 更好的最佳 LLM 模型。
Vigogne
Vigogne 是由 Bofeng Huang 及其蒙特利尔大学团队开发的LLM系列。它们基于 GPT 架构,但进行了一些修改和改进,使它们更加高效和强大。例如,他们使用一种名为 LORA 的新技术,它代表注意力的局部重新加权,以减少注意力机制的内存和计算成本。他们还使用一种称为 PEFT(位置编码微调)的技术,使模型的位置编码适应不同的任务和领域。
链接 — https://huggingface.co/bofenghuang/vigogne-7b-chat
Vigogne 型号有不同的尺寸和风格,参数范围从 7B 到 33B。他们可以为各种领域生成高质量的文本,例如聊天、指令和绽放。您可以在 Hugging Face Hub 上以“bofenghuang”用户名找到它们。例如,您可以尝试 vigogne-7b-chat 模型,它可以根据某些输入生成引人入胜且连贯的对话。以下是如何将其与转换器库一起使用的示例:
import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigfrom vigogne.preprocess import generate_inference_chat_promptmodel_name_or_path = "bofenghuang/vigogne-7b-chat"tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, padding_side="right", use_fast=False)model = AutoModelForCausalLM.from_pretrained(model_name_or_path, torch_dtype=torch.float16, device_map="auto")user_query = "Expliquez la différence entre DoS et phishing."prompt = generate_inference_chat_prompt([[user_query, ""]], tokenizer=tokenizer)input_ids = tokenizer(prompt, return_tensors="pt")["input_ids"].to(model.device)input_length = input_ids.shape[1]generated_outputs = model.generate( input_ids=input_ids, generation_config=GenerationConfig( temperature=0.1, do_sample=True, repetition_penalty=1.0, max_new_tokens=512, ), return_dict_in_generate=True,)generated_tokens = generated_outputs.sequences[0, input_length:]generated_text = tokenizer.decode(generated_tokens, skip_special_tokens=True)print(generated_text)
JAIS
JAIS 是由 Core42 及其阿尔伯塔大学团队开发的另一个LLM系列。它们也基于 GPT 架构,但进行了一些增强和优化,使它们更加健壮和可扩展。例如,他们使用一种称为 GPTQ(GPT 量化)的技术,通过使用较低精度的算术来减少模型的大小和延迟。他们还使用一种称为 ACTORDER(代表激活排序)的技术,通过对激活函数重新排序来提高模型的并行性和吞吐量。
链接 — https://huggingface.co/core42/jais-13b
JAIS型号有不同的尺寸和版本,参数范围从13B到30B。它们可以为各种领域生成高质量的文本,例如 chat、bloom 和 jais。您可以在 Hugging Face Hub 上以 core42 用户名找到它们。例如,您可以尝试 jais-13b-chat-hf 模型,它可以根据一些输入生成幽默诙谐的对话。以下是如何将其与转换器库一起使用的示例:
# -*- coding: utf-8 -*-import torchfrom transformers import AutoTokenizer, AutoModelForCausalLMmodel_path = "inception-mbzuai/jais-13b"device = "cuda" if torch.cuda.is_available() else "cpu"tokenizer = AutoTokenizer.from_pretrained(model_path)model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", trust_remote_code=True)def get_response(text,tokenizer=tokenizer,model=model): input_ids = tokenizer(text, return_tensors="pt").input_ids inputs = input_ids.to(device) input_len = inputs.shape[-1] generate_ids = model.generate( inputs, top_p=0.9, temperature=0.3, max_length=200-input_len, min_length=input_len + 4, repetition_penalty=1.2, do_sample=True, ) response = tokenizer.batch_decode( generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True )[0] return responsetext= "عاصمة دولة الإمارات العربية المتحدة ه"print(get_response(text))text = "The capital of UAE is"print(get_response(text))
BERTIN
BERTIN 是一门独特的LLM,由 Manuel Romero 及其在 Platzi 的团队开发。它基于 GPT-J 架构,该架构是 EleutherAI 创建的 GPT-3 的变体。然而,BERTIN 不仅仅是 GPT-J 的复制品,而是一个在大型且多样化的西班牙语文本语料库上训练的新颖模型。它是第一个可以生成高质量西班牙语文本的LLM,还可以处理代码生成和其他任务。
链接 — https://huggingface.co/mrm8488/bertin-gpt-j-6B-ES-8bit
BERTIN有不同的尺寸和版本,参数范围从6B到12B。它可以为各种领域生成高质量的文本,例如聊天、alpaca 和 chivo。您可以在 Hugging Face Hub 上以用户名 mrm8488 找到它。例如,您可以尝试 bertin-gpt-j-6B-ES-8bit 模型,它可以根据某些输入生成流畅且连贯的西班牙语文本。以下是如何将其与转换器库一起使用的示例:
import transformersimport torchfrom Utils import GPTJBlock, GPTJForCausalLMdevice = "cuda" if torch.cuda.is_available() else "cpu"transformers.models.gptj.modeling_gptj.GPTJBlock = GPTJBlock # monkey-patch GPT-Jckpt = "mrm8488/bertin-gpt-j-6B-ES-8bit"tokenizer = transformers.AutoTokenizer.from_pretrained(ckpt)model = GPTJForCausalLM.from_pretrained(ckpt, pad_token_id=tokenizer.eos_token_id, low_cpu_mem_usage=True).to(device)prompt = tokenizer("El sentido de la vida es", return_tensors='pt')prompt = {key: value.to(device) for key, value in prompt.items()}out = model.generate(**prompt, max_length=64, do_sample=True)print(tokenizer.decode(out[0]))
Mistral
Mistral 是由 FPHam 及其剑桥大学团队开发的LLM系列。它们基于 GPT-2 架构,但进行了一些扩展和改进,使它们更具表现力和多样性。例如,他们使用一种名为 CLP(即对比语言预训练)的技术来增强模型捕捉自然语言不同方面的能力,例如风格、情感和主题。他们还使用一种称为 PEFT(位置编码微调)的技术,使模型的位置编码适应不同的任务和领域。
链接 — https://huggingface.co/mistralai/Mistral-7B-v0.1
Mistral 型号有不同的尺寸和版本,参数范围从 6B 到 7B。他们可以为各个领域生成高质量的文本,例如指导、问题和绽放。您可以在 Hugging Face Hub 上以 FPham 用户名找到它们。例如,您可以尝试 Mistra-7b-chat 模型,它可以根据某些输入生成相关且有趣的问题。以下是如何将其与转换器库一起使用的示例:
from transformers import AutoTokenizer, AutoModelForCausalLMtokenizer = AutoTokenizer.from_pretrained("openskyml/mistral-7b-chat")model = AutoModelForCausalLM.from_pretrained("openskyml/mistral-7b-chat")# encode the input textinput_ids = tokenizer.encode("The Eiffel Tower is a famous landmark in Paris.", return_tensors="pt")# generate the output textoutput_ids = model.generate(input_ids, max_length=50)# decode the output textoutput_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)print(output_text)
Igel
Igel 是一个独特的LLM,由 Phil Schmid 和他的 Hugging Face 团队开发。它基于 GPT-Neo 架构,该架构是 EleutherAI 创建的 GPT-3 的变体。然而,Igel 不仅仅是 GPT-Neo 的复制品,而是一个在大型且多样化的德语文本语料库上训练的新颖模型。它是第一个可以生成高质量德语文本的LLM,还可以处理代码生成和其他任务。
链接 — https://huggingface.co/philschmid/instruct-igel-001
Igel有不同的尺寸和版本,参数范围从2.7B到13B。它可以为各种领域生成高质量的文本,例如chat、alpaca和 igel。您可以在 Hugging Face Hub 上以用户名 philschmid 找到它。例如,您可以尝试 instruct-igel-001 模型,它可以根据某些输入生成流畅且连贯的德语文本。以下是如何将其与转换器库一起使用的示例:
from transformers import AutoTokenizer, AutoModelForCausalLMtokenizer = AutoTokenizer.from_pretrained("philschmid/instruct-igel-001")model = AutoModelForCausalLM.from_pretrained("philschmid/instruct-igel-001")# encode the input textinput_ids = tokenizer.encode("Wie macht man einen Kuchen?", return_tensors="pt")# generate the output textoutput_ids = model.generate(input_ids, max_length=50)# decode the output textoutput_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)print(output_text)
结论
这些是您可以在 Hugging Face 上找到的一些比 GPT 更好的最佳 LLM 模型。它们不仅令人印象深刻、功能强大,而且创新且多样化。它们可以为各种领域、语言和任务生成高质量的文本,并且还可以轻松地与 Transformer 库一起使用。您还可以在 Hugging Face Hub 上探索其他LLM模型,并发现可以满足您的需求和兴趣的新的、令人兴奋的模型。
声明:壹贝网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者wangteng@admin所有,原文出处。若您的权利被侵害,请联系 756005163@qq.com 删除。
本文链接:https://www.ebaa.cn/29327.html