• 会員限定
  • 2024/10/16 掲載

Hugging Faceとは何か? 5行のPythonで始める基本的な使い方からAIモデル一覧まで

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
33
会員になると、いいね!でマイページに保存できます。
Hugging Faceとは、「AI分野のGitHub」とも呼ばれ、現在90万近いAIモデルがアップロードされているAI開発プラットフォームだ。Hugging Faceが提供するPythonライブラリにより、これまで複雑だったプロセスが大幅に簡素化し、数行のPythonコードで、AIモデルを自身のPCにダウンロードして実践で使えるようになる。ここではHugging Face初心者向けに、5行のPythonコードでHugging FaceのAIモデルを使う方法を紹介したい。
執筆:細谷 元  構成:ビジネス+IT編集部
photo
AIコミュニティが盛んなHugging Faceの活用方法を解説する

そもそもHugging Faceとは何か?

 Hugging Faceとは、現在90万近いAIモデルがアップロードされているAI開発プラットフォームだ。これによりAIモデルの利用が大幅に簡素化され、開発者はもとより、一般のビジネスプロフェッショナルでも手軽にAI技術を活用できるようになっている。

 Hugging Faceは2016年にフランスの起業家クレマン・ドラング氏(CEO)、ジュリアン・ショーモン氏(CTO)、トーマス・ウォルフ氏(CSO)らによってニューヨーク・ブルックリンで設立された。独自のチャットボット「HuggingChat」を開発していたが、同アプリの自然言語処理(NLP)モデルのオープンソース化を実施したところ、AI開発者コミュニティの人気が高まったことを受け、AI開発プラットフォームの構築を開始。2024年8月にはユーザー数が500万人を突破したと発表している

 今回は、Hugging Faceを使ったことがない人向けに、自身のパソコンでAIモデルを利用するためのステップバイステッププロセスを紹介したい。

環境構築1:Pythonのインストール

 Hugging Faceを活用するために必要となるのは、Pythonと統合開発環境(IDE)だ。IDEは、PyCharmやVS Codeなど、いくつか選択肢があるが、ここではVS Codeを使用する。

 まず、PCでのPythonのインストールから始めたい。

 Windows環境では標準でインストールされていることはほぼないので、こちらのサイトからPythonファイルをダウンロードし、インストールする。たとえば執筆時点で最新版「Python 3.12.7」であれば、このページの下のほうにあるFilesの中から自身のPCに合ったファイルをダウンロードしよう(Windows installer(64-bit/32-bit)が多いはずだ)。

画像
Pythonファイルをダウンロード
(出典:Python.org

Windowsの場合のインストールステップ:
  • ダウンロードしたインストーラーを実行

  • インストーラーの開始画面で、「Add Python to PATH」にチェックを入れてから「Install Now」をクリック。これにより、Pythonがシステムパスに追加され、どのディレクトリからでもpythonコマンドを使えるようになる

  • インストールが完了したら、コマンドプロンプトを開き、以下のコマンドでバージョンを確認
python --version
Macの場合のインストールステップ:
  • Pythonを簡単に管理するためのパッケージマネージャ「Homebrew」を以下のコマンドでインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Homebrewがインストールされたら、以下のコマンドを使ってPython 3.xをインストール
brew install python
  • 以下のコマンドでインストールされたバージョンを確認
python3 --version

環境構築2:VS Codeのインストールと仮想環境構築

 Pythonをインストールしたら、VS CodeのサイトからVS Codeをダウンロードする。

画像
VS Codeをダウンロード
(出典:Visual Studio Code

 VSCodeファイルがダウンロードできたら、パソコンにインストールする。

 インストール後、まずVSCodeアプリを立ち上げ、以下の画面を表示する。

画像
VSCodeアプリ
(筆者スクリーンショット)

 VS CodeのメニューにあるViewをクリックし、Command Paletteを選択。

画像
筆者スクリーンショット

 すると、VS Codeの検索窓に、「>」マークが表示されるので、そこで「Shell Command: Install 'code' command in PATH」を検索して実行する。


 このステップを踏むことで、ターミナルコマンドから、VS Codeを開くことが可能になる。

 次は、AIモデルをインストールするための「仮想環境」を構築する。

 仮想環境とは、Pythonプロジェクトごとに独立したPythonの実行環境を作るための仕組み。これにより、プロジェクトごとに異なるパッケージやライブラリのバージョンを使い分けることができ、システム全体のPython環境に影響を与えずに開発を進めることが可能となる。

仮想環境を構築するためのステップ:
  • ターミナルを開き、以下のコマンドでホームディレクトリにいること再確認。
cd ~
※cdとはchange directoryの略で、ディレクトリを移動するときに使うコマンド

 今回はホームディレクトリ直下に「huggingface_project」フォルダを作成し、この中に仮想環境を構築する。まず、以下のコマンドで「huggingface_project」フォルダを作成。
mkdir huggingface_project
※mkdir とは、make directoryの略で、ディレクトリを作成するコマンド

 次に、以下のコマンドで同フォルダに移動。
cd huggingface_project
 huggingface_project内で、以下のコマンドを入力し、仮想環境を作成する。
python3 -m venv venv
※これは「python3」の「-m venv」モジュールを使い仮想環境を構築し、そのファイル名は「venv」とするという意味。2つ目のvenvは任意で、myvenvなどにしても問題ない。その場合は、python3 -m venv myvenvなどとなる)

 仮想環境を作成したら、以下のコマンドで仮想環境をアクティベートする。
Mac:source venv/bin/activate
Windows(コマンドプロンプト):venv\Scripts\activate
Windows(パワーシェル):.\venv\Scripts\Activate.ps1
 以下の画像7行目のように、行の最初が(venv)となっていれば、現在仮想環境内にいるということになる。


  • 仮想環境内にいることを確認したら、以下のコマンドでVS Codeを開く。
code .
(VS Codeのメニューから直接仮想環境ファイルを開くことも可能。その場合、VS Codeのメニュー>File>Open>huggingface_projectで開くことができる)

 ターミナルにおける一連のコマンドと流れは以下のようになる。

Hugging FaceからAIモデルをインストール

 上記の「code .」コマンドにより、仮想環境内でVS Codeが開かれた状態となっているはず。

 次にVS Codeのメニュー>New Fileで、Hugging FaceのAIモデルをインストールするためのPythonファイルを作成する。

 今回は、比較的軽いサマリーAIモデルを使いたいので、ファイル名を「summarize_text.py」とする。


 ファイルが作成されると以下のように右のファイルセクションと左のコードセクションに、summarize_text.pyが表示される。


 ここでもう一度ターミナルに戻り、以下のコマンドで必要なPythonライブラリをインストールする。
pip install transformers torch
※これは、Pythonのパッケージ管理システムであるpipを使用して、指定されたライブラリ(transformersとtorch)をインストールするためのコマンド

 「pip install transformers torch」を実行すると、以下のように、関連するパッケージのインストールが開始される。


 次に、VS Codeで先ほど作成したsummarize_text.pyに以下のコードを入力する。

 以下のコードは簡単にいうと「Hugging Faceの『transformers』ライブラリを使用して、文章要約を行うためのPythonスクリプト」となる。
from transformers import pipeline # Hugging Faceのpipeline機能をインポート

# 文章要約のためのパイプラインを作成(モデルを指定)
summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6", device=0)

# 要約したいテキストを定義
text = """
Amazon announced Friday evening that it has hired Covariant’s founders  Pieter Abbeel, Peter Chen, and Rocky Duan  along with “about a quarter” of the startup’s employees. It’s also signed a non-exclusive license to use Covariant’s robotic foundation models.
Earlier this year, Chen told TechCrunch that Covariant is building “a large language model, but for robot language.” In other words, it’s creating AI models for robots, with an initial focus on robotic arms performing common warehouse tasks like bin picking.
“With some of the smartest minds, we will advance fundamental research, marrying our rich expertise to unlock new ways for AI and robots to assist our operations employees,” said Joseph Quinlivan, Vice President of Amazon Fulfillment Technologies & Robotics, in a statement. “[Embedding] Covariant’s AI technology into our existing robot fleet will make them more performant and create real world value for our customers.”
The deal sounds similar to Amazon’s hiring of the founders of AI startup Adept back in June  another deal that gave Amazon access to new talent and technology without having to fully acquire an existing startup.
At the time, The Verge described this approach as a “reverse acquihire,” where tech giants facing antitrust scrutiny can use hiring and licensing deals to disguise their acquisitions, rather than the other way around.
Covariant, meanwhile, said it will continue operating under the leadership of Ted Stinson and Tianhao Zhang, with Stinson  who’d been the startup’s COO  now stepping into the CEO role. The company added that it remains “dedicated to delivering the Covariant Brain into production environments across a broad set of global industries, including apparel, health and beauty, grocery, and pharmaceuticals.”
"""

# 要約を実行
summary = summarizer(text, max_length=50, min_length=25, do_sample=False)

# 結果を表示
print(summary)
 「pipeline」はtransformersライブラリに含まれる、自然言語処理(NLP)タスクを簡単に実行するための高レベルAPIで、特定のタスク(要約、翻訳、質問応答など)に対応するモデルとその設定をまとめて扱えるようにするものだ。

 2つ目のコード「summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6", device=0)」は、文章要約タスクを実行するためのパイプラインの作成を実行する。より具体的にいうと、Piplineにあるタスクのうち「summarization」を選択し、「sshleifer/distilbart-cnn-12-6」というAIモデルを利用することを指定している。

 このAIモデルは、Hugging Faceのモデルハブで提供されているDistilBARTモデルの一種。DistilBARTは、BARTモデルを軽量化したもので、効率的に要約タスクを実行することが可能だ。

 「device=0」はGPUを利用することを指定するコード。Mac mini(M1チップ)の場合、M1チップがGPUとして認識される。GPUがない場合は、「device=1」に設定することで、CPUによる計算が実行される。

 このモデルのHugging Faceページは、こちらのサイトよりアクセスできる。

 3つ目の「text = """~”””」は、要約したい文章を定義するコード。日本語には対応していない点には留意してほしい。今回は、Techcrunchのニュース記事を入力した。

 4つ目のコード「summary = summarizer(text, max_length=50, min_length=25, do_sample=False)」は、3つ目のコードでtextとして指定された文章を要約するもの。要約の長さを最大50トークン、最小25トークンに指定し、do_sample=Falseにすることで、確率的な要約生成をしないように設定している。

 5つ目のコード「print(summary)」で、要約結果をコンソールに出力する。

 必要なのは、この5行のコードのみ。最後にVS Codeの右上にある三角ボタンをクリックするとコードが実行される。


 1回目の試行では、AIモデルをダウンロードする必要があり、結果が表示されるまで少し時間を要するが2回目以降は、スムーズに結果が表示されるはずだ。

 結果は、VS Codeのターミナルウィンドウに表示される。


 いくつか警告文が出るかもしれないが、以下のようなテキストが含まれていれば、スクリプトがうまく実行されたことになる。
[{'summary_text': " Amazon has hired Covariant’s founders Pieter Abbeel, Peter Chen, Rocky Duan, and Peter Chen . Amazon has also signed a non-exclusive license to use the startup's robotic foundation models . Covari"}]
 この記事を要約するタスクであったが、短い文にしっかり要約されていることが確認できた。

この続きは会員限定(完全無料)です

ここから先は「ビジネス+IT」会員に登録された方のみ、ご覧いただけます。

今すぐビジネス+IT会員にご登録ください。

すべて無料!今日から使える、仕事に役立つ情報満載!

  • ここでしか見られない

    2万本超のオリジナル記事・動画・資料が見放題!

  • 完全無料

    登録料・月額料なし、完全無料で使い放題!

  • トレンドを聞いて学ぶ

    年間1000本超の厳選セミナーに参加し放題!

  • 興味関心のみ厳選

    トピック(タグ)をフォローして自動収集!

評価する

いいね!でぜひ著者を応援してください

  • 33

会員になると、いいね!でマイページに保存できます。

共有する

  • 1

  • 7

  • 7

  • 1

  • 10

  • 1

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
関連タグ タグをフォローすると最新情報が表示されます
あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます