ChatGPT开源平替(2)llama

这篇具有很好参考价值的文章主要介绍了ChatGPT开源平替(2)llama。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        最近,FacebookResearch 开源了他们最新的大语言模型 LLaMA,训练使用多达14,000 tokens 语料,包含不同大小参数量的模型 7B、13B 、30B、 65B,研究者可以根据自身算力配置进行选择。

        经过测试,(1)在算力要求上,7B的模型,需要19G显存要求,单卡3090可部署。(2)在生成效果上,额...,还行吧。

首先下载模型及代码:

    (1)模型:

        项目里是要求提交申请,然后Facebook官方发送模型下载链接,通过链接下载完整模型文件,才能运行项目,实测在huggingface上去下载拆分后的模型是不能运行的项目的。由于一直没有收到官方邮件提供的下载地址,我在网上找到了各大版本的模型文件下载链接:

7B ipfs://QmbvdJ7KgvZiyaqHw5QtQxRtUd7pCAdkWWbzuvyKusLGTw
13B ipfs://QmPCfCEERStStjg4kfj3cmCUu1TP7pVQbxdFMwnhpuJtxk
30B ipfs://QmSD8cxm4zvvnD35KKFu8D9VjXAavNoGWemPW1pQ3AF9ZZ
65B ipfs://QmdWH379NQu8XoesA8AFw9nKV2MpGR4KohK7WyugadAKTh

    (2)代码:

        https://github.com/facebookresearch/llama

运行模型:

        由于官方给的例子是写死的,不是一问一答交互形式,我将其改了一下:

# cli.py
import os,time, json,sys
import argparse
from waitress import serve
from typing import Tuple
import torch
from pathlib import Path
import torch.distributed as dist
from fairscale.nn.model_parallel.initialize import initialize_model_parallel

from llama import ModelArgs, Transformer, Tokenizer, LLaMA

def setup_model_parallel() -> Tuple[int, int]:
    local_rank = int(os.environ.get("LOCAL_RANK", -1))
    world_size = int(os.environ.get("WORLD_SIZE", -1))
    print(f"local:{local_rank},world:{world_size}")
    dist.init_process_group("nccl")
    initialize_model_parallel(world_size)
    torch.cuda.set_device(local_rank)

    # seed must be the same in all processes
    torch.manual_seed(1)
    return local_rank, world_size

def load(ckpt_dir: str, tokenizer_path: str, local_rank: int, world_size: int) -> LLaMA:
    start_time = time.time()
    checkpoints = sorted(Path(ckpt_dir).glob("*.pth"))
    assert (
        world_size == len(checkpoints)
    ), f"Loading a checkpoint for MP={len(checkpoints)} but world size is {world_size}"
    ckpt_path = checkpoints[local_rank]
    print("Loading")

    checkpoint = torch.load(ckpt_path, map_location="cpu")
    with open(Path(ckpt_dir) / "params.json", "r") as f:
        params = json.loads(f.read())

    model_args: ModelArgs = ModelArgs(max_seq_len=1024, max_batch_size=8, **params)
    tokenizer = Tokenizer(model_path=tokenizer_path)
    model_args.vocab_size = tokenizer.n_words
    torch.set_default_tensor_type(torch.cuda.HalfTensor)
    model = Transformer(model_args)
    torch.set_default_tensor_type(torch.FloatTensor)
    model.load_state_dict(checkpoint, strict=False)
    generator = LLaMA(model, tokenizer)
    print(f"Loaded in {time.time() - start_time:.2f} seconds")
    return generator

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--ckpt_dir")
    parser.add_argument("--tokenizer_path", type=str)
    args = parser.parse_args()
    local_rank, world_size = setup_model_parallel()
    generator = load(args.ckpt_dir, args.tokenizer_path, local_rank, world_size)
    print("------------------ Welcome to the llama model  -------------------\n")
    while True:
        prompt = input("User: ")
        if prompt =="cls":
            break
        print("LLAMA: ", end="")
        input_text = [prompt]
        # max_gen_len= input["max_gen_len"]
        results = generator.generate(input_text, max_gen_len=512, temperature=0.8, top_p=0.95)[0]
        print(results)

    """
    启动服务:
    CUDA_VISIBLE_DEVICES=0 torchrun --nproc_per_node 1 cli.py --ckpt_dir $ckpt --tokenizer_path $tokenizer
    """

测试结果:

(1)英文交互

ChatGPT开源平替(2)llama

(2)中文交互    

ChatGPT开源平替(2)llama

        明显发现,llama中文交互效果较差,并且在英文生成回复上也没有chatgpt流畅圆滑,可能是由于Facebook为了抢风头,在数据质量和数据范围方面没有做太多工作,或者是因为这只是llama的demo版本,Facebook正在憋大招吧。

        请关注公众号:NLP有品,定期分享NLP干货。

 文章来源地址https://www.toymoban.com/news/detail-428696.html

到了这里,关于ChatGPT开源平替(2)llama的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGPT的开源平替,终于来了!

    最近这段时间,一个号称全球最大ChatGPT开源平替项目Open Assistant引起了大家的注意。 这不最近还登上了GitHub的Trending热榜。 https://github.com/LAION-AI/Open-Assistant 根据官方的介绍,Open Assistant也是一个对话式的大型语言模型项目,可以理解任务,并且可以与第三方系统交互,并动态

    2023年04月24日
    浏览(46)
  • ChatGPT/GPT4开源“平替”汇总

    寻找那些ChatGPT/GPT4开源“平替”们。 ChatGPT爆火出圈,国内很多高校、研究机构和企业都发出类似ChatGPT的发布计划。ChatGPT没有开源,复现难度极大,即使到现在GPT3的完全能力也没有任何一个单位或者企业进行了复现。刚刚,OpenAI又官宣发布了图文多模态的GPT4模型,能力相对

    2023年04月16日
    浏览(33)
  • ChatGPT 火了,一大批开源平替也来了

    ChatGPT 凭一己之力让全球为 AI 沸腾,引发了科技巨头之间的聊天机器人军备竞赛。 众所周知,ChatGPT 的背后技术是 GPT(Generative Pre-trained Transformer)模型。GPT 是一种基于 Transformer 模型的自然语言处理模型,由 OpenAI 公司开发。它可以通过学习大量的自然语言数据来生成自然流畅

    2023年04月20日
    浏览(34)
  • LLMs之Vicuna:在Linux服务器系统上实Vicuna-7B本地化部署(基于facebookresearch的GitHub)进行模型权重合并(llama-7b模型与delta模型权重)、模型部

    LLMs之Vicuna:在Linux服务器系统上实Vicuna-7B本地化部署(基于facebookresearch的GitHub)进行模型权重合并(llama-7b模型与delta模型权重)、模型部署且实现模型推理全流程步骤的图文教程(非常详细) 导读 :因为Vicuna的训练成本很低,据说只需要$300左右,所以,还是有必要尝试本地化部署

    2024年02月06日
    浏览(52)
  • 【ChatGPT】ColossalChat:目前最接近 ChatGPT 原始技术方案的实用开源项目——以 LLaMA 为基础预训练模型,推出 ColossalChat

        www.colossalai.org GitHub - hpcaitech/ColossalAI: Making large AI models cheaper, faster and more accessible   目录

    2023年04月14日
    浏览(71)
  • 推荐 ChatGpt 平替介绍文章

    chenking2020/FindTheChatGPTer: 汇总那些ChatGPT的平替们 (github.com) Alpaca https://github.com/tatsu-lab/stanford_alpaca Alpaca DEMO: https://alpaca-ai-custom6.ngrok.io OpenChatKit https://github.com/togethercomputer/OpenChatKit ChatGLM https://github.com/THUDM/ChatGLM-6B ChatYuan https://github.com/clue-ai/ChatYuan Colossal AI https://github.com/hpca

    2024年02月03日
    浏览(31)
  • 9个已开源的GPT4平替分享(附开源代码+论文)

    资料整理自网络,有误欢迎指正 对于想要研究大模型的同学来说,目前ChatGPT无疑是最好的学习对象,但等它开源估计是不太可能了,所以学姐今天整理了一些开源的类GPT模型,帮助大家更好的理解大模型背后的机理。 PS:有的功能还不错,也可以上手玩耍玩耍。 开源链接都

    2024年02月09日
    浏览(38)
  • ChatGPT 的平替 Claude 使用指南

    Claude的独立体验版本姗姗来迟,经过近半个月的等待后,收到了体验邮件,不过之前早已体验过poe和slack的集成版,响应速度上要比ChatGPT快很多。 目前提供的Model有: \\\"claude-v1\\\":我们最大的型号,适用于各种更复杂的任务。claude-v1使用此型号名称将在一段时间的早期访问评估

    2023年04月15日
    浏览(37)
  • 真正的ChatGPT平替产品:Claude

    ChatGPT 已经流行了很长的时间了,但是 ChatGPT 由于种种的限制,我们无法用上,也有很多的平替产品,但是这些平替产品也有很多的问题。 现在 Claude 出来了,没有任何的限制。 Claude 不用魔法,注册简单。为什么 Claude 这么厉害,我们来问问他和 chatgpt 的区别。 我和 ChatGP

    2023年04月19日
    浏览(36)
  • ChatGPT平替- ChatGLM多用户并行访问部署

            ChatGLM对话模型基本环境配置和部署请参考上一篇博文《ChatGPT平替-ChatGLM环境搭建与部署运行》,地址为“https://blog.csdn.net/suiyingy/article/details/130370190”。但是,默认部署程序仅支持单用户访问,多用户则需要排队访问。测试过相关的几个Github多用户工程,但是其中

    2024年02月08日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包