大模型实战入门(四):4. 玩转Hugging Face/魔搭/魔乐平台(熟悉模型下载上传及应用上传)

系列文章目录

大模型实战入门(一):1. Linux 前置基础(基本命令、SSH及端口映射)
大模型实战入门(二):2. Python 前置基础(熟悉断点调试、依赖指定路径安装)
大模型实战入门(三):3. Git 前置基础(熟悉常见 Git 命令及GitHub 平台)



前言

目标:从0开始学习LLM
平台:InternStudio开发机
教程:书生大模型实战营

提示:以下是基于书生大模型实战营(第四期)——入门岛:玩转Hugging Face/魔搭/魔乐平台(熟悉模型下载上传及应用上传)的学习内容

一、Hugging Face简介

1. 什么是Hugging Face

Hugging Face 是一家专注于自然语言处理和机器学习的公司,以其开源的Transformers库而闻名该平台提供了丰富的预训练模型,支持多种语言任务,如文本生成、翻译和情感分析。HuggingFace 还致力于推动A!的民主化,鼓励开发者和研究人员共享和合作。

Hugging Face 最初专注于开发聊天机器人服务。尽管他们的聊天机器人项目并未取得预期的成功但他们在GitHub上开源的Transformers库却意外地在机器学习领域引起了巨大轰动。如今Hugging Face已经发展成为一个拥有超过1,000,000个模型和200,000+个数据集的平台,被誉为机器学习界的GitHub。

HF的Transformers库是HF最核心的项目,它可以:

  • 直接使用预训练模型进行推理
  • 提供了大量预训练模型可供使用
  • 使用预训练模型进行迁移学习

2. 注册Hugging Face

进入HF的官网:官网地址
在这里插入图片描述
注册成功后便会进入首页
在这里插入图片描述

3. InternLM模型下载

点击 models ,进入模型下载界面,输入需要下载的模型
在这里插入图片描述

以“internlm2_5-1_8b”为例,输入后即可看见该模型详细信息
在这里插入图片描述

4. 使用GitHub CodeSpace

4.1 GitHub CodeSpace

GitHub Codespace 通过 GitHub 原生的完全配置、安全的云开发环境,可以更快地启动和写代码它提供了一系列模板,我们在跑机器学习深度学习相关的实验的时候,可以选择它的Jupyter NoteBook模板。

GitHub CodeSpace:访问地址

4.2 配置环境

选择它的Jupyter NoteBook模板

一个自托管或基于云的平台,提供了完整的 DevOps 工具链,包括代码托管、持续集成/持续部署(CI/CD)、问题跟踪等。
进入终端后,安装以下依赖,便于模型运行

# 安装transformers
pip install transformers==4.38
pip install sentencepiece==0.1.99
pip install einops==0.8.0
pip install protobuf==5.27.2
pip install accelerate==0.33.0

在这里插入图片描述

4.3 下载internlm2_5-7b-chat的配置文件

考虑到个人GitHub CodeSpace硬盘空间有限(32GB可用),而7B的模型相对较大,这里我们先演示如何下载模型文件夹的特定文件。 考虑到CodeSpace平台上默认的用户权限不是root权限,这里为方便演示直接在工作区创建文件,即 /workspaces/codespaces-jupyter 目录

以下载模型的配置文件为例,先新建一个hf_download_josn.py 文件

touch hf_download_josn.py

在这里插入图片描述
在这个文件中,粘贴以下代码:

import os
from huggingface_hub import hf_hub_download

# 指定模型标识符
repo_id = "internlm/internlm2_5-7b"

# 指定要下载的文件列表
files_to_download = [
    {
   
   "filename": "config.json"},
    {
   
   "filename": "model.safetensors.index.json"}
]

# 创建一个目录来存放下载的文件
local_dir = f"{
     
     repo_id.split('/')[1]}"
os.makedirs(local_dir, exist_ok=True)

# 遍历文件列表并下载每个文件
for file_info in files_to_download:
    file_path = hf_hub_download(
        repo_id=repo_id,
        filename=file_info["filename"],
        local_dir
由于无法直接访问指定的 GitHub(https://github.com/ystemsrx/Qwen2-Boundless ) Hugging Face(https://huggingface.co/ystemsrx/Qwen2-Boundless )链接获取内容,下面介绍一般可以在这两个平上找到的关于模型的相关信息。 ### GitHub 上的信息 - **代码仓库**:GitHub 通常是开源项目的代码托管平,在此仓库中可能会有 Qwen2 - Boundless 的源代码,包括模型的架构定义、训练代码、推理代码等。例如可能会有类似如下的代码示例来进行模型推理: ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("ystemsrx/Qwen2-Boundless") model = AutoModelForCausalLM.from_pretrained("ystemsrx/Qwen2-Boundless") input_text = "你的输入文本" input_ids = tokenizer(input_text, return_tensors="pt").input_ids output = model.generate(input_ids) generated_text = tokenizer.decode(output[0], skip_special_tokens=True) print(generated_text) ``` - **文档说明**:仓库中一般会有 README 文件,用于介绍项目的概况、安装步骤、使用方法、模型特点等信息。还可能会有详细的文档说明模型的训练数据、训练策略、评估指标等。 - **版本管理**:通过 GitHub 的版本管理功能,可以查看项目的历史版本、提交记录,了解模型的开发过程更新情况。 - **问题讨论**:用户可以在仓库的 Issues 板块提出问题、反馈 bug,也可以参与项目的讨论,与开发者其他用户交流。 ### Hugging Face 上的信息 - **模型卡片**:Hugging Face 为每个模型提供了详细的模型卡片,其中包含模型的描述、适用场景、性能指标、使用示例等信息。可以快速了解 Qwen2 - Boundless 的基本情况优势。 - **模型下载使用**:在 Hugging Face 上可以方便地下载模型的权重文件,使用 `transformers` 库进行加载使用。用户可以根据模型卡片中的示例代码,快速将模型集成到自己的项目中。 - **社区贡献**:Hugging Face 社区的用户可以对模型进行评价、分享使用经验,还可以贡献新的使用案例、评估结果等,丰富模型的相关信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值