<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>plamo - まったり勉強ノート</title>
	<atom:link href="https://www.mattari-benkyo-note.com/tag/plamo/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mattari-benkyo-note.com</link>
	<description>shuの日々の勉強まとめ</description>
	<lastBuildDate>Mon, 17 Nov 2025 21:45:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
<site xmlns="com-wordpress:feed-additions:1">189243286</site>	<item>
		<title>PLaMo 3 の事前学習モデルを推論させてみる</title>
		<link>https://www.mattari-benkyo-note.com/2025/11/18/plamo-3-inference/</link>
					<comments>https://www.mattari-benkyo-note.com/2025/11/18/plamo-3-inference/#respond</comments>
		
		<dc:creator><![CDATA[Shuji Suzuki (shu)]]></dc:creator>
		<pubDate>Mon, 17 Nov 2025 21:45:13 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[plamo]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://www.mattari-benkyo-note.com/?p=3320</guid>

					<description><![CDATA[<p>先日PFNで開発しているPLaMo 3の事前学習モデルの小規模なモデルが公開されました。 https://huggingface.co/collections/pfnet/plamo-3 どのようなモデルなのかはPFNの [&#8230;]</p>
<p>The post <a href="https://www.mattari-benkyo-note.com/2025/11/18/plamo-3-inference/">PLaMo 3 の事前学習モデルを推論させてみる</a> first appeared on <a href="https://www.mattari-benkyo-note.com">まったり勉強ノート</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>先日PFNで開発しているPLaMo 3の事前学習モデルの小規模なモデルが公開されました。</p>



<p><a href="https://huggingface.co/collections/pfnet/plamo-3">https://huggingface.co/collections/pfnet/plamo-3</a></p>



<p>どのようなモデルなのかはPFNのブログのほうに書かれています。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-preferred-networks-tech-blog wp-block-embed-preferred-networks-tech-blog"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="MaWsT7D335"><a href="https://tech.preferred.jp/ja/blog/plamo_3_8b_31b/">大規模言語モデルの次期バージョン PLaMo 3 シリーズにおける8B, 31Bの小規模モデルによる事前学習の検証</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;大規模言語モデルの次期バージョン PLaMo 3 シリーズにおける8B, 31Bの小規模モデルによる事前学習の検証&#8221; &#8212; Preferred Networks Tech Blog" src="https://tech.preferred.jp/ja/blog/plamo_3_8b_31b/embed/#?secret=MaWsT7D335" data-secret="MaWsT7D335" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p>簡単にPLaMo 3がどういうモデルか説明すると、PLaMo 2のときと同様、日本語のデータを大量にいれつつ、PLaMo 3では海外勢のLLMと差が大きかった学術的な部分の知識を増やすような取り組みをして、精度が上がったよというモデルになっています。</p>



<p>まだ、小規模モデルの検証段階のモデルが公開されているだけですが、最終的なモデルはもっとよくなる（はず）。</p>



<p>今回はPLaMo 2のとき少し面倒だった推論環境構築がPLaMo 3になったことで簡単になったので、2Bを使ってGoogle Colabで簡単に推論できる例を示そうと思います。</p>



<p>PLaMo 3は高速な推論が可能なvLLMでも簡単に動かせる仕組みが用意されているので、今回はhugging faceの仕組みを使った推論に加えて、vLLMによる推論の例も示します。</p>



<p>コードに関してはgithub上に置いてあります。コード全体を見たい方はこちらをご覧ください。</p>



<p><a href="https://github.com/shu65/plamo-3-inference/blob/main/plamo_3_hf_inference_example.ipynb">https://github.com/shu65/plamo-3-inference/blob/main/plamo_3_hf_inference_example.ipynb</a></p>



<p><a href="https://github.com/shu65/plamo-3-inference/blob/main/plamo_3_vllm_inference_example.ipynb">https://github.com/shu65/plamo-3-inference/blob/main/plamo_3_vllm_inference_example.ipynb</a></p>



<p>注意点としては、事前学習を触ろうと思っている人ならご存じだと思いますが、精度が高いモデルでも事前学習モデルは結構めちゃくちゃなことを言います。このため、めちゃくちゃな推論結果でも事前学習モデルならそうだよね、という感じで流してもらえればと思います。ある程度指示を聞くようにするSFTのやり方も後日公開予定です。指示をちゃんと聞かせたいという方はそちらもご覧ください。</p>



<h2 class="wp-block-heading">PLaMo 3を使うための事前準備</h2>



<p>PLaMo 3はダウンロードする前にライセンスに承認が必要になります。今回例で示す、PLaMo 3の2Bモデルである「PLaMo 3 NICT 2B Base」だと初めてアクセスする場合は以下のような画面になっています。</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="883" src="https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1024x883.png" alt="" class="wp-image-3321" srcset="https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1024x883.png 1024w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-300x259.png 300w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-768x662.png 768w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1536x1324.png 1536w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image.png 1807w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>こちらHugging Faceにログインし、ライセンスを確認のうえ、acceptをおしてください。</p>



<p>次にGoogle Colabで使うランタイムを変更します。</p>



<p>Google Colabでnotebookを開いたあと、右上の下矢印をクリックすると以下のようなメニューがでてきます。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="687" src="https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1-1024x687.png" alt="" class="wp-image-3322" srcset="https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1-1024x687.png 1024w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1-300x201.png 300w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1-768x515.png 768w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-1.png 1032w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>このうち、「ランタイムのタイプを変更」をクリックしてください。するとこのようなポップアップが出てきます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="812" src="https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-2-1024x812.png" alt="" class="wp-image-3323" srcset="https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-2-1024x812.png 1024w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-2-300x238.png 300w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-2-768x609.png 768w, https://www.mattari-benkyo-note.com/wp-content/uploads/2025/11/image-2.png 1096w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>私の画面では有料のクレジットがある状態なので、T4以外にもL4が選択できるようになっていますが、無料の方は選択できないようになっていると思います。Hugging Faceのみの推論を試す場合は、無料で使えるT4で、vLLMを試したい方はL4にしてください。</p>



<p>ランタイムの設定が終わればここからはHugging FaceとvLLMで少し違うので個別に説明していきます。</p>



<h2 class="wp-block-heading">PLaMo 3の推論 Hugging Face編</h2>



<p>Hugging Faceの仕組みで実行するのはすごく簡単で、Google Colabで必要なパッケージはデフォルトで入っているので、基本的にpipインストールなどは必要ありません。ただ、Hugging Faceはすごい勢いで後方互換を壊していくので、最新のHugging Faceの<code>transformers</code>などのバージョンでは動かないということが発生する可能性があります。その時はnotebookにある<code>transformers==4.57.1</code> にしてみるなど試してみてください。</p>



<p>pipインストールが必要ないので、まずはHugging Faceにアクセスするためのトークンを設定します。やり方としては以下のコマンドをnotebook上でたたきます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>!hf auth login</code></pre></div>



<p>これをたたくとtokenを生成するページのURLが表示されるので、サイトにアクセスして、tokenを作り、tokenを入力するということをしてください。</p>



<p>tokenを入力したら、Hugging Faceからモデルをダウンロードができるようになります。やり方は以下の通りです。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained(&quot;pfnet/plamo-3-nict-2b-base&quot;, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(&quot;pfnet/plamo-3-nict-2b-base&quot;, trust_remote_code=True)</code></pre></div>



<p>ここでエラーがでたらモデルの承認ができていない、Google Colab上でHagging Faceのtokenが指定できてないなどが考えられますので、戻って確認してください。</p>



<p>ダウンロードできれば以下のように推論することが可能です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>text = &quot;これからの人工知能技術は&quot;
input_ids = tokenizer(text, return_tensors=&quot;pt&quot;).input_ids
generated_tokens = model.generate(
    inputs=input_ids,
    max_new_tokens=32,
    do_sample=True,
    top_k=50,
    top_p=0.95,
    temperature=1.0,
)[0]
generated_text = tokenizer.decode(generated_tokens)
print(generated_text)</code></pre></div>



<p>出力としてはこのようなものが出てくると思います。</p>



<pre class="wp-block-preformatted">&lt;|plamo:bos|>これからの人工知能技術はAIの進化系であり、音声の文字起こしや翻訳といった従来の用途の枠を超えた、全く新しい可能性を切り拓いていくことでしょう。<br>10年以上、ディープラーニング</pre>



<p>これでHugging FaceのAPIを使ったPLaMo 3の推論ができました。</p>



<h2 class="wp-block-heading">PLaMo 3の推論 vLLM編</h2>



<p>次にPLaMo 3のvLLMを使った推論のやり方を示します。vLLMを使う場合はまずは以下のようにPLaMo 3用のvLLMのpluginをインストールします。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>!pip install --no-cache git+https://github.com/pfnet-research/vllm-plamo3-plugin.git</code></pre></div>



<p>ここで<code>--no-cache</code> を付けないと、Google Colabのイメージに変なキャッシュがあるのか、pipインストールでエラーがでるので注意してください。</p>



<p>インストールが終わったらHugging Face編と同じようにHugging Faceのtokenを設定するために以下のようにコマンドをたたきます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>!hf auth login</code></pre></div>



<p>その後、出力されたtokenの生成サイトに行き、tokenを作ったあとできたtokenを入力するということをします。</p>



<p>次にvLLMでモデルをダウンロードしてロードします。コードとしては以下の通りです。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>import vllm
model = vllm.LLM(&quot;pfnet/plamo-3-nict-2b-base&quot;, trust_remote_code=True)</code></pre></div>



<p>ダウンロードできればあとは以下のように推論することができます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>response = model.generate(
    prompts=[&quot;これからの人工知能技術は&quot;],
    sampling_params=vllm.SamplingParams(
        n=1,
        max_tokens=32,
        top_k=50,
        top_p=0.95,
        temperature=1.0,
    ),
)[0]
generated_text = response.outputs[0].text
print(generated_text)</code></pre></div>



<p>出力例としては以下の通り。</p>



<pre class="wp-block-preformatted">AIによる画像認識が主流になるといわれている。自動運転などはすでに実用化されている自動車が事故にあわない為の技術として人工知能が使われている。 例えば自動車が障害物を</pre>



<p>これでvLLMを使った推論もすることができました。</p>



<h2 class="wp-block-heading">終わりに</h2>



<p>今回はPLaMo 3の推論方法にのみ注目して紹介しました。ただ、最初に述べたように今回のモデルは事前学習モデルなので、そのままで使うことは難しいと思っています。このため、簡単にSFTする方法も後日紹介できればと思っています。</p><p>The post <a href="https://www.mattari-benkyo-note.com/2025/11/18/plamo-3-inference/">PLaMo 3 の事前学習モデルを推論させてみる</a> first appeared on <a href="https://www.mattari-benkyo-note.com">まったり勉強ノート</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.mattari-benkyo-note.com/2025/11/18/plamo-3-inference/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3320</post-id>	</item>
	</channel>
</rss>
