Hugging Face モデルの探索

Hugging Face で学ぶマルチモーダルモデル

James Chapman

Curriculum Manager, DataCamp

講師の紹介

 

Sean Benson
  • スイスの CERN にある大型ハドロン衝突型加速器(LHC)の元素粒子物理学者
  • 現在は Amsterdam University Medical Center の応用AI 研究者

Sean Benson の写真。

Hugging Face で学ぶマルチモーダルモデル

対象モダリティ

テキスト、画像、音声、動画アプリの例。

1 画像クレジット: OpenAI 生成
Hugging Face で学ぶマルチモーダルモデル

Hugging Face

Hugging Face のモデルページ(モデルカード情報)のスクリーンショット

  • 100万以上のモデル
  • 25万以上のデータセット
Hugging Face で学ぶマルチモーダルモデル

Hub API

  • モデルとデータセットへプログラムからアクセス
pip install huggingface_hub[cli]

アカウントのモデルにアクセスするにはログイン:

>>> huggingface-cli login
  • ライブラリ、モデル、データセットは事前インストール済み
Hugging Face で学ぶマルチモーダルモデル

モデル検索

  • Hugging Face API: モデルとデータセットへプログラムからアクセス
from huggingface_hub import HfApi
api = HfApi()

models = api.list_models()
  • task: "image-classification""text-to-image" など
  • sort: 例 "likes" または "downloads"
  • limit: 取得上限
  • tags: モデルの関連情報
Hugging Face で学ぶマルチモーダルモデル

モデル検索

models = api.list_models(

task="text-to-image",
author="CompVis",
tags="diffusers:StableDiffusionPipeline",
sort="downloads"
)
top_model = list(models)[0]
print(top_model)
ModelInfo(id='CompVis/stable-diffusion-v1-4', private=False, downloads=1097285, 
          likes=6718, library_name='diffusers', ...
Hugging Face で学ぶマルチモーダルモデル

API からモデルを利用

top_model_id = top_model.id
print(top_model_id)
CompVis/stable-diffusion-v1-4

DNT_CURLLY_TAG_2

from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained(top_model_id)
Hugging Face で学ぶマルチモーダルモデル

利用可能なタスク

  • Web ページでドキュメント化

  • JSON でも提供: https://huggingface.co/api/tasks

import json
from urllib.request import urlopen
url = "https://huggingface.co/api/tasks"

with urlopen(url) as url:
    tasks = json.load(url)
print(tasks.keys())
dict_keys(['any-to-any',
'audio-classification',
'audio-to-audio', ...'])
1 https://huggingface.co/tasks 2 https://huggingface.co/api/tasks
Hugging Face で学ぶマルチモーダルモデル

¡Vamos a practicar!

Hugging Face で学ぶマルチモーダルモデル

Preparing Video For Download...