- 会員限定
- 2024/10/16 掲載
Hugging Faceとは何か? 5行のPythonで始める基本的な使い方からAIモデル一覧まで
そもそも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)が多いはずだ)。
Windowsの場合のインストールステップ:
- ダウンロードしたインストーラーを実行
- インストーラーの開始画面で、「Add Python to PATH」にチェックを入れてから「Install Now」をクリック。これにより、Pythonがシステムパスに追加され、どのディレクトリからでもpythonコマンドを使えるようになる
- インストールが完了したら、コマンドプロンプトを開き、以下のコマンドでバージョンを確認
python --versionMacの場合のインストールステップ:
- 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をダウンロードする。VSCodeファイルがダウンロードできたら、パソコンにインストールする。
インストール後、まずVSCodeアプリを立ち上げ、以下の画面を表示する。
VS CodeのメニューにあるViewをクリックし、Command Paletteを選択。
すると、VS Codeの検索窓に、「>」マークが表示されるので、そこで「Shell Command: Install 'code' command in PATH」を検索して実行する。
このステップを踏むことで、ターミナルコマンドから、VS Codeを開くことが可能になる。
次は、AIモデルをインストールするための「仮想環境」を構築する。
仮想環境とは、Pythonプロジェクトごとに独立したPythonの実行環境を作るための仕組み。これにより、プロジェクトごとに異なるパッケージやライブラリのバージョンを使い分けることができ、システム全体のPython環境に影響を与えずに開発を進めることが可能となる。
仮想環境を構築するためのステップ:
- ターミナルを開き、以下のコマンドでホームディレクトリにいること再確認。
cd ~
今回はホームディレクトリ直下に「huggingface_project」フォルダを作成し、この中に仮想環境を構築する。まず、以下のコマンドで「huggingface_project」フォルダを作成。
mkdir huggingface_project
次に、以下のコマンドで同フォルダに移動。
cd huggingface_projecthuggingface_project内で、以下のコマンドを入力し、仮想環境を作成する。
python3 -m venv venv
仮想環境を作成したら、以下のコマンドで仮想環境をアクティベートする。
Mac:source venv/bin/activate以下の画像7行目のように、行の最初が(venv)となっていれば、現在仮想環境内にいるということになる。
Windows(コマンドプロンプト):venv\Scripts\activate
Windows(パワーシェル):.\venv\Scripts\Activate.ps1
- 仮想環境内にいることを確認したら、以下のコマンドで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」とする。
ここでもう一度ターミナルに戻り、以下のコマンドで必要なPythonライブラリをインストールする。
pip install transformers torch
「pip install transformers torch」を実行すると、以下のように、関連するパッケージのインストールが開始される。
次に、VS Codeで先ほど作成したsummarize_text.pyに以下のコードを入力する。
以下のコードは簡単にいうと「Hugging Faceの『transformers』ライブラリを使用して、文章要約を行うためのPythonスクリプト」となる。
from transformers import pipeline # Hugging Faceのpipeline機能をインポート「pipeline」はtransformersライブラリに含まれる、自然言語処理(NLP)タスクを簡単に実行するための高レベルAPIで、特定のタスク(要約、翻訳、質問応答など)に対応するモデルとその設定をまとめて扱えるようにするものだ。
# 文章要約のためのパイプラインを作成(モデルを指定)
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)
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会員にご登録ください。
すべて無料!今日から使える、仕事に役立つ情報満載!
-
ここでしか見られない
2万本超のオリジナル記事・動画・資料が見放題!
-
完全無料
登録料・月額料なし、完全無料で使い放題!
-
トレンドを聞いて学ぶ
年間1000本超の厳選セミナーに参加し放題!
-
興味関心のみ厳選
トピック(タグ)をフォローして自動収集!
関連コンテンツ
PR
PR
PR