目次
まえがき
前提
導入編
使用感


まえがき:Python初心者でも導入できた

日本語における大規模言語モデル(LLM)がLINECorpよりOSSでリリースされた。(20230814)
商用利用可能とのことで早速導入してみた。



前提

・PC環境
 OS:Windows11
 CPU:Corei7-13700
 メモリー:32GB
 GPU:RTX 3060
・python3.10
・私はPythonは初心者なので細かいことは理解していない
・stable diffusionが出始めたときにローカルインストールして遊ぶくらいはできる
・今はStable Diffusion web UIで遊んでる
・LineのLLM導入はあーでもないこーでもないと4時間くらいはてこずった

といったレベルの人が紹介するため「一般人でもAI使いたい!」という人の助けになれば幸いです。
※下記の内容はインストール、アンインストール、閑居変数の変更を含むため自己責任でご理解お願いね!

導入編

環境としてanacondaはインストールしているものの、すべてpipコマンドにて実施しました。
理由は特にありませんが各種ドキュメントがpipで紹介されているので読みやすかったです。

〇必要なもの
・HuggingFaceのアカウント
・NVIDIADeveloperのアカウント
・VisualStadio2022
・CUDA
・cuDNN
・Git


〇手順1:LineCorpのリリースを確認する。
36億パラメータの日本語言語モデルを公開しました
これに記載の通り”HuggingFace Hubの以下のURLにおいて公開しており、transformersライブラリから利用可能です。”とあるため、transformersライブラリを動かす環境が必要です。

〇手順2:transformersライブラリを確認する
transformersライブラリインストレーションガイド
これをもとにいろいろ導入を始める。といいたいところだが私はLLM導入が初めてだったのでいきなりこれをやってもエラーでまくりだった。transformersを動かすために必要な前提条件が全く整っていないので先にそっちの準備が必要だった。

〇手順3:pytorchでCUDAを動かすためのコンパイラを準備をする
回りくどいけどつまりはVisualStudio2022をインストールする。
VisualStudioこのページよりCommunity2022をダウンロードして実行する。
〇手順4:pytorchでCUDAで有効にするためにCUDAToolkitとcuDNNをインストールする

pytorchのページを見てもらえばわかるが、20230815現在のCUDAは11.8がサポートの最新なのでそれを入れる。(NVIDIAではCUDAv12.2が最新)
v11.8
インストールはこれらを参考に行う。
インストレーションガイド
Qiita:CUDA+cuDNNのインストールまとめ

〇手順5:仮想環境の準備
LLMを展開したいフォルダをPython実行環境として仮想展開する。
  • 仮想環境構築コマンドの有効化: pip install virtualenv
  • 仮想環境の構築:virtualenv <your_dir>
  • 仮想環境の実行:.\Scripts\activate
〇手順6:torchのインストール
pytorchを確認しインストールコマンドを作る。RunthisCommandに記載のコマンドを実行する。
※先に pip install torch でインストールを実行した人はCUDAの有効化ができないのでtorchのアンインストール(pip uninstall torch)した後に上記を実行する

〇手順7:transformersのインストール
  • pip install transformers
〇手順8:tensorflowのインストール
  • pip install tensorflow==2.13.0
〇手順9:SentencePieceのインストール
  • pip install sentencepiece
〇手順10:LineLLMのモデルクローン
japanese-large-lm-3.6bに記載の通り、手順5で指定した仮想環境のフォルダでGitBashを起動し以下のコマンドを実行。
  • git lfs install
  • git clone https://huggingface.co/line-corporation/japanese-large-lm-3.6b
〇手順11:実行
36億パラメータの日本語言語モデルを公開しましたに記載されるテストコードをPythonファイルとして保存して仮想環境上で実行。


使用感


まず最初に、ChatGPTをイメージした対話型で返答が来ることを想定しているとだいぶ違うので注意。
イメージは「10文字与えたら続きを書いて30文字にして返す」という感じ。
この辺りはファインチューニング中らしいので別途期待して待つ。

実際に実行してみました。
————–指示内容——————–

text = generator(
“私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。”,
max_length=1000,
do_sample=True,
pad_token_id=tokenizer.pad_token_id,
num_return_sequences=5,
)

—————————————-
この指示は、「”私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。”の続きを1000文字以内で5つ候補をくれ。」という感じかな。
実行中はこんな感じでリソース変化してました。
まずはシステムメモリの負荷が上昇・・・
そしてGPUの負荷が上昇してトータル5分くらいで実行完了しました。
ちゃんと5つでてきたが、長さはまちまちって感じで内容はTwitterで学習したのかなって感じだったり、noteが出てきたり、小説家になろうがでてきたりと、商用利用可能なモデルとはいえ実行結果に他のサービスがでてくる点は気を付けないといけないかなという結果に。
でもこれだけ意味の通る文章が書けて、しかも文字数はいくらでも行けそうなのに無料ってのはいろいろなことに使えそうなのは間違いない!今後に期待です。

↓参考までに実行結果のべた貼り

{‘generated_text’: ‘私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。 感想文を
書く 1.「タイトルを入力してください」と出ます。タイトルを入力しましょう。 2. 「書き始める」ボタンを押します。 3. 「書き 出す」ボタンを押しましょう。 4. 完成! お疲れ様でした! 終わりに!感想について 感想は、次の手順で書くことができます。 タイ トルを入力する 書き出す 完成! 最後までお読みいただきありがとうございました。 この「小説のタイトル」をぜひ投稿してくださ い。 ツイッターアカウントがあれば、あなたの作品をみんなに読んでもらえますよ。 ぜひ「小説家になろう」で投稿してください! お待ちしています。 小説家になろう – 人気小説がたくさん! なろう小説で書いた小説作品をまとめたページです。 www.syosetu.com noteでも創作活動を始めました。ぜひフォローしてください。’}


{‘generated_text’: ‘私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。 大学に入 ったら、学生はキャンパスで「ゲーム」をプレイします。\n キャンパスには、コンピュータールームがあり、そこにはたくさんのデ スクトップがあります。 コンピューターを起動すると、ログイン画面が出ます。 そこで、ログインしたユーザーは、そのコンピューターと接続しているゲームに、自動的にログインします。\n オンラインゲームのユーザーとコンピューターの関係は、「ログインし たら、あとはゲーム内でプレイヤー同士が協力して目的を達成する」というもの。ゲームによっては「フレンド関係になる」というところもありますが、「オンラインゲームにおいて、プレイヤーは全員フレンド」というケースが圧倒的です。\n 私は、大学院の博士 課程まで進んだので、研究生活の後半はコンピュータゲームの「プレイする時間」が減ってしまったのですが、大学時代は、ゲーム三昧でした。 コンピュータゲームの開発もやっていたので、大学内のあちこちで「プログラマ」と呼ばれて、ゲームをプレイし続けて いましたが、学生のほとんどは、「パソコンが苦手」という人が多い。 大学3年の頃に、サークルの仲間と合宿をした時、私を含めた大学生のゲームプレイ環境が、あまり整備されていないのに驚いて、「これはよくない」と思ったのです。 4年生になって研究室に所属すると、「ゲームの作り方」を学びます。\n ゼミで学生を12人集めて、ゲームを作るチームを作れば、「ゲームを作るにはどうす ればいいのか」が、分かる。 そこで私は、大学のプログラム系のサークルの3人でプロジェクトを作って、「学園祭に向けたゲーム制作」をすることを思いつきました。\n 「大学における、ゲーム開発のワークショップ」みたいなものです。\n プログラミングの技 術は、人によって大きく差があるのですが、「ゲームを作るときには、どんな技術があったら便利か?」という話をすれば、だいたい 誰でも学ぶことができる。\n プログラマーを目指す人だけでなく、ゲームを作る側になった人や、すでに作っている人も、ゲームプ ログラミングを学ぶと、さまざまなメリットがあるのです。 そこで集まったのは、僕と、1年生の時に所属していたサークルの部長と、ゲームが好きだった2年生の女の子2人。\n 僕は、このプロジェクトには参加しなかったけれど、「どんなゲームを作るか」を決め るミーティングには、ほぼ毎回顔を出させてもらっていました。 僕たちは、「卒業したサークルの先輩が、実際にプレイしたゲーム を参考にする」ということをしていたのですが、そのうち、ひとつのゲームに偏って、「ゲーム作り」をするようになってしまうのです。\n そのゲームとは、『Dancing Toy Dolls』という、ダンスゲーム。\n 当時、私は、そのダンスゲームを、プレイしたことがな かったのですが…… この「12人の大学生と、ひとりのダンスダンサーが、協力してゲームクリアを目指す」という構図、「実際に ゲーム制作をしたことがある人なら、一度は考えたことがあるんじゃないだろうか」という、ゲームデザインなんですよね。\n プロ グラマー志望の人はもちろんのこと、ゲーム作りをしている人なら、「ああ。あるある」と思うのではないでしょうか。\n しかし、 実際にやってみると、これが難しかったのです。\n ダンスゲームというのは、まず、ダンスの動きをプレイヤーに覚えさせ、プレイ ヤー同士が、ペアになって一緒に踊る。\n プレイヤーがペアになれたかどうかを判定していくのですが、ダンスの動きをするプレイ ヤーの動きが、判定用の基準と、微妙にずれているために「偶然の一致」がおこってしまうことがある。\n 「ちょっとずれたら、判 定に失敗したらどうするんだ?」と思うかもしれないけれど、この「ずれ」というのが曲者で、ダンスシーンは「そのズレた動作を連 続させる」というのが基本になっているために、このズレが大きくなって、判定ができなくなることがあるのです。\n いやー、本当 に難しい。 \n この「難易度の調整」というのが、プログラマー泣かせなんですよね。\n 最終的に、このダンスゲームを、このサー クルがクリアすることはできたのだけれど、『Dancing Toy Dolls』が、どんなテーマのもとに作られたゲームだったのかを知ると、 けっこう深いなあ、と。\n でも、このゲームが、なぜこんなにヒットしたのかというと、それはこの作品が「大学生の苦悩」を描い ていたから。\n そして、ゲームシステムにも、その「苦悩」が、込められているのです。\n 主人公の「大学生」は、ダンスゲームをクリアしていくため、ダンスレッスンを受けます。 ダンスダンスレボリューションのように、「プレイヤーはダンスする」という動 きがあるわけではない。あくまで、「音楽に合わせて踊る」という動作は、判定基準であって、実際には、音楽以外のものも「動いているように見せる」必要があった。\n 音楽に合わせ、プレイヤーは「踊っている」ように見せなければならない。 このゲームは、ダンスゲームであるとともに、「プレイヤーの『苦悩』を描くゲーム」でもあるのです。\n たとえば「『3人目』のキャラクターが、動きにリズムを感じられない」という描写は、単に「3人目のキャラクターがヘタレ」ということではなく、『3人目』のキャラクターが「動きにリズムが感じられない」ことに悩んだうえで、そのキャラクターを仲間にしない、ということなのです。\n もちろん、この 『3人目』のキャラクターは、このゲームのなかでは「役割」としては重要なキャラクターではあるけれど、そのキャラクターの位置 づけ自体が、「プレイヤーの行動」によって、変わっていく。\n プレイヤーに、「『自分はこのキャラクターを、どうしたいのか?』という『選択』を常に強いるゲーム」なのです。 \n そして、この主人公は、「その『選択』を、自分自身で、決めなければならない。\n「なぜそのキャラクター’}


{‘generated_text’: ‘私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。 10:ゲームが下手で友達にゲームを貸してもらえず、その挙句成績も落ちて学校に行けなくなった女の子。 12:ゲームに負けた罰に自分の髪を刈られ、親にゲームが下手だという事を理解させて貰おうと思う男の子。 感想ください^^ 16:ゲームに負けた罰に自分の髪を刈られ、 親にゲームが下手だという事を理解させて貰おうと思う男の子。 17:ゲームに負けた罰に自分の髪を刈られ、親にゲームが下手だという事を理解させて貰おうと思う男の子。’}


{‘generated_text’: ‘私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。」 この「 ゲームの操作が上手にできない」というフレーズが、とても印象的で、記憶に残っています。’}


{‘generated_text’: ‘私は小説家。タイトル「ゲームの操作が上手にできない学生の物語」を書いたので聞いてください。」 「ゲー ムの操作? 」 聞き慣れない単語の羅列に皆首を傾け、その話の内容を疑問視する。 「ゲームにはコントローラーがありますよね。皆さんはコントローラーでゲームを操作し、その操作を通じて画面上に現れるものを操作したことがあるかと思います。では、このゲームの操作に違和感を…\n皆さんこんにちは。 2年生の春、4月は授業が始まると同時に様々な新しいことがスタートします。その中のひとつに、4年生の卒業式があります。 私たち日本語専攻にも、卒業を間近に控えた学生と、修了生がいます。今日は卒業生について紹介したいと思います。 卒業生は、今年の春に卒業を迎える4年生の6人、そして2年生の時に修了生として日本語を学ばれた8人、計14…\n日本語専攻では、卒業を控えた学生、2年生から日本語専攻に在籍している留学生、そしてまだ日本語専攻に通っていない3年生の学生合わせて 80名で勉強をしています。 今年度の日本語専攻では、4回生を前期・後期それぞれに10名ずつ、そして2年生から日本語専攻に所属した留学生を25名、合計35名を4月に入学予定の方として募集します。 この4月に入学予定の学生のうち、14名が…\n皆さん、こんにちは。10月1日から10月6日の間、第2回 文化祭を開催しました。このイベントは、日本語学部1年生から専攻語学部2年生までの学生と専攻語科3年生から4年生までの方々が一堂に会し、それぞれの専攻語の授業の一環で制作した作品などを展示し、来場される人々を楽しませます。 今回は展示物をご紹介します。 日本語専攻は「日本語」の専攻語です。この展示は、日本語…\n【11月 スタート】日本語学部 留学生対象 日本語能力N1合格保証プログラム\n「日本語が話せるようになる保証」は、日本語専攻の最も大きな特徴のひとつです。 「保証」の対象となるのは、日本語を学ぶ留学生のみなさんです。 日本語に不安がある学生のために、日本語能力試験(以下「N1」)の合格を目指します。 11月の「日本語能力N1合格保証プログラム」で、留学生のみなさんの「合格を目指して 頑張る」ことへの自信につながり、日本語能力のさらなる強化にも、日本語と真剣に向き合うことにもつながると考えています。…\n2年次で卒業する学生のための就職ガイダンスを実施しました。 大学から就職課の職員を招き、4つのコースで実施されました。 1、内定を得るためのコツ 2、ビジネス実務マナー 3、自己認識と自己のブラッシュアップ 4、履歴書、エントリーシート対策 【1、内定を得るためのコツ】 5月2日(水)に、2年生の学生の就職支援のため、内定を得るためのポイントを指導するガイダンスを行い、就職課職員と専攻語の日本語教員が学生の対…\n日本語専攻の日本語能力の保証、保証対象は?\n「保証」は日本語専攻の大きな特徴のひとつです。 日本語専攻では、日本語を専攻する留学生のみなさん、全員が日本語能力試験(以下「N1」)に合格することを保証します。 また、保証対象の専攻語は日本語。 「保証」の対象となるのは、日本語を学ぶ留学生のみなさんです。 日本語専攻へ入学する留学生は日本語専攻専用のテキストを学習することになります。 4年間の学習期間が終了した時点で、日本語能力試験…\n日本語専攻「日 本語能力N1合格保証プログラム」11月からの申込受付開始\n【11月スタート】 2年次で卒業する学生のための就職ガイダンスを実施します。 ・1、内定を得るためのコツ ・2、ビジネス実務マナー ・3、自己認識と自己のブラッシュアップ ・4、履歴書、エントリーシート対策 詳しくはこちら…\nこんにちは。 日本語専攻の専攻長を務めます、日本語学科の李です。 今日は日本語学科の新入生を対象に、日本語専攻の紹介をしたいと思います。 日本語専攻では、まず新入生に10日間のオリエンテーションに参加してもらいます。10日間のオリエンテーションで日本という国について詳しく理解してもらい、専攻に対する理解を深め、日本語能力を向上させるプロ グラムを実施します。 オリエンテーションでは日本と日本語の仕組みについて学ば…\n日本語専攻の教授をご紹介いたします。\n日本語専攻の教授を紹介します。 名前 :倪 暁雪(ニー シャオシュエ) 日本語専攻 教授 担当科目 :日本語会話、日本語文法、初級 日 本語学科 教員 紹介ページ…\n【日本語専攻 】 留学生対象日本語能力N1合格保証プログラム\n日本語専攻には、1年生~3年生までの各コースがあり、各コースごとに、日本語能力試験対策のクラスが用意されています。 留学生を対象とした「日本語能力N1合格保証 プログラム」では、日本語能力試験を受験する際、入学年度1回目の受験で合格を目指すことを目標とし、日本語能力の向上を目的と したカリキュラムを提供しています。 本プログラムでは、各専攻の専任教員、日本語学科教員が、留学生一人ひとりの…\n日本語専攻では、4月の新入生のオリエン’}

コメントを残す

メールアドレスが公開されることはありません。