« 2023年11月 | トップページ | 2024年1月 »

2023年12月31日 (日)

2023年まとめ記事

とうとう、まとめ記事を上げる日がやってきました。
今年も、いろいろとありましたね。振り返っていきましょう。

【1月】

リモート会議用スピーカーマイク EMEET Luna Liteを買った: EeePCの軌跡 

まだ1月って、コロナの影響が残っている時期でしたね。といっても、リモート会議から面着へと移行しつつあるというこの時期に、こんなものを買いました。
このスピーカーマイクですが、これ、見た目はちょっと微妙ながらも結構重宝しております。今年一番の買ってよかったアイテムではなかったでしょうか。

【2月】

Nikon COOLPIX B500の最大望遠(40倍)で月を撮ってみた: EeePCの軌跡

そういえば、これを買ったのも今年でしたね。
Nikonの40倍望遠カメラ「COOLPIX B500」で、月を撮影してみたという記事です。
このカメラ、40倍という望遠に惹かれて購入したんですが、それ以外にも単三電池に対応、レンズ交換不要などなど、意外と利便性が高いカメラで重宝してます。子供の運動会撮影でも活躍しました。

【3月】

PCコンフルで中古PCを買ってみた: EeePCの軌跡

この月もいろいろとやってますが、次男用に中古PCを買いましたね。
1.8万円でしたが、これでメモリー8GB、SSDも128GB入ってて、そこそこの速度で動く。辛うじて動画編集もできます。
いうほど使ってませんけど、ちょくちょく使っています。
メインPC側で読めなかったDVD-Rを読み込めたのは、なかなかのクリーンヒットでしたね。それだけでも買った価値はありました。

【4月】

64GBメモリー(32GB×2)にしてみた等: EeePCの軌跡

4月ぐらいから、オープンソースな生成AIを試すことが増えました。そのきっかけがこの記事。
メインPCであるGALLERIA GR1650TGF-Tのメモリーを、16GB → 64GBまで一気に増やしました。
半導体不足と言われる中、メモリーの価格は下がっていたんですよね。
モデルが配布されている生成AIを使おうとすると、どうしても64GB以上のメモリーが必要となるため、思い切って増やしたんですが、その後、

無料で商用利用可能でわりと賢い?生成系AI「Dolly 2.0」を試してみた: EeePCの軌跡

という記事などで、これ以降は生成AI、特にLLM(大規模言語モデル)をいくつも試すことになります。
結果として、いい決断でした。

【5月】

りんなチャットAI「rinna japanese-gpt-neox-3.6b」と楽しく??会話してみたら……: EeePCの軌跡

で、64GBメモリーを手に入れてすぐに、そこそこ使えるAIが登場です。rinna-GPTと言われるこいつは、個人PC上で動く生成AIながら、わりと自然な会話を返してくれるという驚異の生成AIモデルです。

メインPCのストレージをキオクシア製2TB NVMe M.2 SSDにしてみた: EeePCの軌跡

この生成AIのおかげで、SSDまで強化する羽目になりました。
振り返ってみると、今年は意外とPCへの投資が多い年でしたね。

【6月】

完璧で究極の(!?)大容量バッテリー「JVC BN-RB10」を買った: EeePCの軌跡

タイトルはちょっとあの曲の影響を受けちゃってますが・・・そういえば、非常用のどでかいバッテリーを買いましたね。
容量は1002Wh、最大出力は1000Wという、化け物級のモバイルバッテリーです。
クーラーすらも動かせるという、なかなかのバッテリー。普段の使い道はないかなと思いきや、意外と在宅勤務時に使っております。

東京出張ついでに秋葉原 & 靖国神社へ行ってきました: EeePCの軌跡

そういえば、泊り出張も久しぶりにしました。
品質工学会へ参加したんですが、出発時には記録的な大雨に見舞われ、アキバにも行き、Surface Goが活躍し、さらに靖国神社へ行くなど、密度の高い2日間でしたよね。

【7月】

MT法で音声の異常検知をやってみた: EeePCの軌跡

そんな泊り出張の成果が表れた記事がこちらです。MT法を使えるプログラム。
製造現場であれば誰もが必要とするであろう、異常検知な仕組みを提供するプログラム、とでも言えばいいでしょうか。
ちょっとマニアックなコードですが、まあまあ役に立っております。

ユニバーサルスタジオジャパン(USJ)へ行ってきました: EeePCの軌跡

そういえば、大阪にも行きましたね。USJへ行ってきました。
まあ、それなりに楽しんできましたが、スーパーニンテンドーワールドへは近づくことすらできませんでした。
この時、長年使われてきた新幹線内の車内チャイム「Ambitious Japan」が「会いに行こう」に変わってました。
ちなみにこの時、40倍カメラとモバイルバッテリーが大活躍しました。

【8月】

 中古で買ったPS4でゲームを始めるのに一晩かかりました: EeePCの軌跡

そういえば、PS4を買ったんですよね。
動機としては、グランツーリスモ7をやりたかったからなんですが、今ではこのPS4、YouTube再生機と化してます。

ホリエモンのChatGPT本を買ってみた: EeePCの軌跡

今年はなんと言っても生成AIが盛り上がった年ですが、その勢いでホリエモンのChatGPT本を買いました。
結構参考になる本です。こんな使い方があるんだなぁと、いろいろと気づきを得た本です。
といっても、言うほどChatGPTは使ってませんね。プログラミングではかなりお世話になってますが、それ以外ではやっぱりちょっと使い辛い。
そんなわけで私は、カスタマイズ可能なオープンソースな生成AIをいろいろと試してます。

【9月】

わけありSurface Go 3 LTEを6万で購入、イオンモバイルにつないでみた: EeePCの軌跡

この月はやはり、この「わけありSurface Go 3」の購入が最大の買い物でしたね。
お値段は約6万円、法人向け、メモリー4GB、だけどLTE搭載という、すごいんだかすごくないんだか分からない微妙過ぎる機種です。
まあでも、通信回線を内蔵って魅力的ですよね。使い切れてませんけど。
来年あたりには、活躍の機会を与えていきたいと思います。

【10月】

CIOの45W小型2口充電器を購入: EeePCの軌跡

5月の解除宣言以来、出張が増えました。
その結果、USB電源が重宝するようになりました。なにせiPhoneの充電だけでなく、ノートPCも今やUSB電源で動く時代となりましたので。
45Wという出力でありながら、この小ささは重宝しております。
なお、このCIOというメーカーの30W 10000mAhのバッテリーも買いましたね。最近、個人的には注目しているメーカーです。

小説家になろう「第11回ネット小説大賞」一次選考に11作品が通過: EeePCの軌跡

小説家になろうにて行われているネット小説大賞で、なんと11作品も1次選考を通過しました。これはなかなかの快挙。
もっとも、2次選考は一つも通らなかったんですが・・・うう、悲しい。

人生初、幕張メッセに行ってきた: EeePCの軌跡

そういえば、幕張メッセに行ってきました。展示会目当てでしたが、それなりに収穫のあった出張でした。
個人的にはRaspberry Pi 5の実物を見られたのがよかったかなぁと。出たらすぐに買うつもりです。
もちろん、秋葉原にも忘れずに行ってきました。6月と同様、密度の高い出張でした。

【11月】

Calm2-7B-Chatを完全オフラインで使う: EeePCの軌跡

今年のオープンソース生成AIでは、これが一番のヒットでした。
Calm2-7B‐Chatというモデルですが、ChatGPT並みとはいかないものの、オフラインで使えて文書要約、プログラム作成など、オープンソース系としてはかなり幅広い活用法を持つモデルです。
実は最近、これを社内で使う機会がありました。かなり癖はあるものの、使いこなせばまあまあ使える生成AIですね。

16インチのモバイルモニター買った: EeePCの軌跡

モバイルモニターなるものを購入。理由は、23インチモニターを処分したかったから。
このモニターのおかげで、USB-Cにもいろいろな種類があることを思い知らされましたね。

【12月】

日経Linux最後の号を購入: EeePCの軌跡

DOS/V Power Report誌の最終号を購入: EeePCの軌跡

この月は休刊が相次ぎました。あまり読んでいない雑誌ならばともかく、わりと購入していた雑誌が続けて3誌も休刊したので、寂しい限りです。
紙の本にもまだ役割はあると思うんですが、しばらくはこうした淘汰が進むんでしょうかね。

EPSON製プリンター「EW-052A」を購入: EeePCの軌跡

年の瀬にやっと複合プリンターを買いました。今度はEPSON製です。
ちょっと不満なところもないこともないですが、小さいですし、印刷開始までが早いですし、しかも印刷品質も上々。ちょっと付き合ってみます。

ChatGPT 3.5並みの日本語能力を持つとされるLLM「ELYZA-japanese-Llama-2-13b-instruct」を使ってみた: EeePCの軌跡

さて、今年最後に出会ったLLM(大規模言語モデル)ですが、もしかするとこれが最強なのでは?と手ごたえを感じているところ。ただこのELYZA-13b、ちょっと文字数制限があるのが残念なところ(うちの環境では、文字数を増やしたらメモリー不足で落ちました)。
でも、来年に向けてはこの辺りの技術の発達に、大いなる希望を感じます。

とまあ、今年もいろいろと買いましたね。買うばかりではなく、新しいことにも手を付けてます。特に、LLM辺りにご執心なところもありました。
とはいえ、やはり物欲馬鹿なので、結局なんやかんやと購入してます。そもそも、このブログが「物欲購入記」なわけですし。
今年はコロナ禍も明けて、徐々に行動範囲が戻りつつありました。来年はさらなる行動の年になるかなと思ってます。いろいろと知識や情報を吸収していきたい。買い物もしたい。そういう気分です。

ということで、今年はこれが最後の更新となります。

皆さま、良いお年を。


会社四季報 2024年1集 新春号

2023年12月30日 (土)

ChatGPT 3.5並みの日本語能力を持つとされるLLM「ELYZA-japanese-Llama-2-13b-instruct」を使ってみた

何か新しい言語モデルが出るたびに追っかけている気がしますが、これがなかなかのAIだったので紹介。

商用利用可能で130億パラメーターの日本語LLM「ELYZA-japanese-Llama-2-13b」が公開 - 窓の杜

ELYZA(イライザ)という東大の松尾研究所発のベンチャーが、Llama2ベースの言語モデルを発表してました。
パラメータ数は130億で、Llama2としては中間のモデルサイズのやつです。
おまけに、商用利用可。これはLlama2ベースのモデルではデフォですね。

ところで最近、あまりにもLLMに飛びつきすぎて食傷気味なので、これを使うかどうするかと思っていたんですが、まず下記のデモサイトに行きまして、

ELYZA-japanese-Llama-2-13b-instruct-demo - a Hugging Face Space by elyza

そこでいろいろと入力してみると、これがなかなかいい感じの文章を返してくれる。
ということで、ちょっと気に入ったため我が家のメインPCで動かしてみることにしました。

elyza/ELYZA-japanese-Llama-2-13b-instruct · Hugging Face

上のサイトを参考から、以下のコードを入手。「elyza-japanese-llama2-13b-instruct.py」として保存しておきます。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

B_INST, E_INST = "[INST]", "[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです。"
text = "仕事の熱意を取り戻すためのアイデアを5つ挙げてください。"

model_name = "elyza/ELYZA-japanese-Llama-2-13b-instruct"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name, torch_dtype=torch.bfloat16, use_cache=True, device_map="auto", low_cpu_mem_usage=True,
)
model.eval()
prompt = "{bos_token}{b_inst} {system}{prompt} {e_inst} ".format(
    bos_token=tokenizer.bos_token, b_inst=B_INST, system=f"{B_SYS}{DEFAULT_SYSTEM_PROMPT}{E_SYS}", prompt=text, e_inst=E_INST,
)
token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
with torch.no_grad():
    output_ids = model.generate(
        token_ids.to(model.device),
        max_new_tokens=2048,
        pad_token_id=tokenizer.pad_token_id, eos_token_id=tokenizer.eos_token_id,
    )
output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1) :], skip_special_tokens=True)
print(output)

あとは、これを実行します。

 python elyza-japanese-llama2-13b-instruct.py

なおトークン数が初期値は256だったのですが、このままでは文章が途切れてしまったので、2048としてます。
それが原因か、結構時間がかかります。

ちなみに、このコードにある「仕事の熱意を取り戻すためのアイデアを5つ挙げてください。」という質問に対しては、35分かかって以下の回答を出してきました。

仕事の熱意を取り戻すためのアイデアを5つ考えてみました。
1. 目標を見直す: 現在の目標が高すぎるのか、低すぎるのかを見直し、適切な目標を設定することで、仕事へのやる気を取り戻すこ とができる可能性があります。
2. 仕事の意味を再確認する: 仕事の意味を再確認することで、仕事へのやる気を取り戻すことができる可能性があります。
3. 仕事の環境を変える: 仕事の環境を変えることで、仕事へのやる気を取り戻すことができる可能性があります。
4. 仕事のメリハリをつける: 仕事とプライベートのメリハリをつけることで、仕事へのやる気を取り戻すことができる可能性があり ます。
5. 仕事の成果を再確認する: 仕事の成果を再確認することで、仕事へのやる気を取り戻すことができる可能性があります。
これらのアイデアを参考に、仕事の熱意を取り戻していただければ幸いです。

うん、ちょっと仕事のやる気、取り戻してみようかな? という文章にはなれているんじゃないでしょうかね。

調子がのってきたところで、ちょっと具体的な指示を出してみます。

てことで、「宇宙での艦隊戦をテーマにした小説を書こうと思ってますが、緊迫した戦闘シーンのアイデアを5つ挙げてください。」と聞いてみました。

で、35分後に、答えが返ってきました。

宇宙艦隊戦の緊迫した戦闘シーンのアイデアを5つ考えてみました。
1. 敵艦隊を待ち伏せして奇襲する: 敵艦隊が通りかかる際に、隠していた艦隊を一気に出撃させることで、敵艦隊を圧倒する。
2. 敵艦隊の裏をかく: 敵艦隊の背後に回り込み、敵艦隊を挟撃する。
3. 敵艦隊の退路を塞ぐ: 敵艦隊が退路を確保する前に、その退路を塞ぐことで、敵艦隊を包囲する。
4. 敵艦隊の主力艦を狙う: 敵艦隊の中核を攻撃し、敵艦隊の士気を削ぐ。
5. 敵艦隊の艦載機を撃墜する: 敵艦隊の艦載機を撃墜することで、敵艦隊の監視網を破壊する。
これらのアイデアを参考に、緊迫した戦闘シーンを描写してみてください。

うん、悪くないですね。アイデアが煮詰まってたところなので、これくらい具体的だと参考になります。
これと同じ質問をデモサイトでもして、それなりの答えが返ってきたのが、このLLMを導入してみようと思ったきっかけでもあるんです。ただ、デモサイトでは文字制限があって、全部書ききれなかったため、続きを我がメインPCに委ねました。

ちなみに、同じ質問を先日紹介したSwallow-13b(Llama2ベースの東工大発日本語LLM「Swallow」が公開: EeePCの軌跡)にも投げてみました。

### 入力:
宇宙での艦隊戦をテーマにした小説を書こうと思ってますが、緊迫した戦闘シーンのアイデアを5つ挙げてください。

### 応答:1. 宇宙ステーションでの戦闘シーン - 戦艦同士の激しい砲撃戦
2. スター・デブリでの戦闘シーン - 小惑星が密集する空間での戦闘。
3. 衛星軌道上での戦闘シーン - 重力がない空間での戦闘。
4. ワームホールの出口付近での戦闘シーン - 時空の歪みの中での戦闘。
5. 暗黒物質の海を航行中に戦闘シーン - 光に干渉されない空間での戦闘。

同じ13bモデルですが、そっけない回答ですね。この点では、ELYZA-13bの方が上です。ただし、Swallow‐13bの方は10分で返ってきました。
こうしてみると、このELYZA-13b、実は最強の日本語LLMじゃないかと。ちょっと前にハマっていたCalm2よりも、ずっと自然な文章が返ってきます。
ただ、Calm2の方が入力できるコーパス数が多いんですね(Llama2は2000~3000文字程度、Calm2は1万文字以上でもOKでした)。
そこはCalm2の方が魅力的な点です。

なお、このELYZA-japaneseですが、70b版も公開される予定みたいです。そっちも楽しみですねぇ。

という感じで、なかなかの日本語モデルが手に入りました。
この1年の内に、ほんとに日本語LLMの進化が著しいですね。来年はどこまでいくんでしょう?
個人的には、ChatGPTなしでも動かせるくらいのLLMの登場に期待してます。


日経サイエンス2023年10月号 [雑誌]

2023年12月29日 (金)

DOS/V Power Report誌の最終号を購入

ああ、とうとう最後の号が出てしまいました。

Img_4426

学生時代から買っていたので、かれこれ30年近くの付き合いとなります。間違いなく、一番長く多く購入したPC雑誌になります。
そんなPower Report誌ですが、ついに雑誌としてはこれが最後となってしまいました。

Img_4427_20231228131101

ということで、通常のPCパーツ特集に加えて、自作PC史という第2特集が組まれてます。

Img_4428_20231228131101

なかなか濃いPCパーツ史ですね。例えば、1998年はこれ。
そういえば当時、Celeron 300Aがどちゃくそ流行りましたね。というのも、格安CPUだというのにほぼ確実に450MHzまでクロックアップが可能と言われ、実際、簡単にクロックアップさせてその性能をいかんなく発揮させる人が後を絶ちませんでした。私も3台くらいは作った記憶です。

Img_4429_20231228131401

でも、その翌年の99年にPentium IIIが出ると、そっちに関心が吸い取られていった感じ。
そうそう、私が最初に買ったNVIDIAのビデオボードは、ここに書かれているGeForce 256でした。こいつは、本当に速いボードでしたよね。

Img_4430_20231228131601

とにかく、このころはPCパーツが安くてついつい余計なものを購入してました。2、3万あれば、中古パーツで自作PCが組めてしまうという恐ろしく贅沢な時代。
あの頃はほんとに、自作PC全盛時代でした。

そう考えると、今は何もかも高いですね。CPU、マザボ、グラボ、どいつもこいつも高過ぎ。それが自作PCから足を遠のかせるきっかけになったのは間違いありません。

Img_4432

そんな時代の荒波にもまれつつも、ここまで続いたDOS/V Power Report誌。いや、本当にありがとうございました。

PCすらも持たないと言われる人が出始めたこの時代、自作どころかPCそのものが存亡の危機にさらされております。これが再び火がつく時代が来るのか。
まあ今は、高性能ゲームやAI/機械学習用途で使うという人が支えている感がありますが、それが落ち着いた時、次にPC界を引っ張る何かは現れるんでしょうかね。


【ついに最終号!新旧パーツ100選】DOS/V POWER REPORT 2024年冬号

2023年12月28日 (木)

オライリーの「事例で学ぶ特徴量エンジニアリング」を買った

昨日は名古屋駅の周辺で飲んでたんですが、その前にふらっと立ち寄ったJRゲートタワーの三省堂書店でこんな本を発見。

Img_4423_20231228090601

ビビッときたので、つい買ってしまいました。

なお、第1版が12月22日。つまり、出たばかりの本。あれ、この本って前からなかったっけ?
と思ったのですが、以前に出ていたのは「機械学習のための特徴エンジニアリング」でした。

で、この「特徴エンジニアリング」とは何ぞや?

世の中の膨大なデータを使って、例えば需要予測をするとか、工場の良品・不良品を自動で識別させるとか、そういう需要が増えつつあります。
私自身、そういうのを構築する稼業に携わっているんですが、それで痛感しているのは「データは汚い」ということ。

「汚い」という表現がちょっとアレですが、要するに使い物にならない不要なデータがわんさと含まれているということ。

製品検査なんかをやろうとすると、良、不良をラベル付けして、それを元に機械学習モデルを構築して・・・とやるんですが、これが例えば人為的ミスによって不良品がわんさとできてしまった場合、それに引っ張られていいモデルができない、という場合があります。
人のミスって、たいていは特定の原因に偏るので、その一つの原因に引っ張られちゃうというか、そんなAIができてしまう。
すると、例えば機械の摩耗やある部品の故障の前兆として現れた不良品を検出できなくなってしまう、なんてことが起こります。
わりと最近も、そういう事例に出くわしてました。

ゆえに、この「特徴量エンジニアリング」が必要となってくるんです。

最近、ChatGPTの精度が落ちたと話題になることがあります。あれももしかすると、ゴミデータを食い過ぎておかしくなってるんじゃないかと感じることがあります。

とまあ、前置きは置いておき、ちょっとだけ中身を紹介。

Img_4424

目次です。御覧の通り、かなり具体的な事例と、そのために必要なデータの前処理などの話が中心です。

Img_4425

ちなみに「バイアス」とは、データの偏りのようなものです。
先の人為的ミスの混じったデータというのが、わりとこのバイアスの原因になりやすいですね。私の経験上。
そういうものをうまく取り除いてやろう、というのが趣旨です。このため、ちょっとキーワード的にどぎつい表現をしてますが、世間一般の「差別的」とはかなりニュアンスが異なります。

これ以上を知りたければ、ぜひこの本をお手に取ってとしか、申し上げられません。

私自身、この本を読むというよりは、近い事例に直面した際の参考書に使おうという意図で買ってます。
とはいえ、せっかくの年末年始なので、ちょっとパラパラと呼んでみようとは思ってます。

データ分析を生業としている人にとっては、痒い所に手が届く一冊ではないかと思います。

事例で学ぶ特徴量エンジニアリング

2023年12月26日 (火)

EPSON製プリンター「EW-052A」で年賀状印刷してみた

つい先日購入したEPSON製プリンター「EW-052A」を使い、年賀状印刷をしてみました。

そこで、使い勝手などがまあまあ見えてきたので。

EPSON製プリンター「EW-052A」を購入: EeePCの軌跡

後トレイですが、これはさほど使い勝手の悪いものではないですね。むしろ、今までより紙の向きが分かりやすいというか、向けた方向がそのまま表として出てくるというか、直感的に分かりやすいです。

Img_4416_20231223202001

これは多分に使い方の問題かとは思うんですが、紙供給のミスや、あるいは紙切れで止まると、PC側に警告が出ます。
が、そこには「閉じる」のボタンしかなくて、それをクリックするとプリントが止まってしまうんです。

いや、そこは「継続」でしょう。なんでそこで止まるの、そこで!
とちょっとイラっとした瞬間がありました。
前面パネルの▽のボタンを押すと、給紙してくれるので、それで再開するんですが、なぜかその時、しれっと1枚、スルーされちゃいました。

おかげで、一人だけ宛名が印刷されてなくてあせります。

そのわりには、やたらと常駐するおせっかいな機能があって、タスクバー付近に変な情報を表示してくるんです。ウイルスに感染したのかと思った。が、そんなおせっかいなものを常駐させてるわりには、大量印刷時には今一つ役に立たないこのEPSON製プリンターに、ちょっとイラついております。

まあ、印刷そのものは綺麗ですね。CANONよりはEPSONの方が印刷は綺麗というのは本当のようで、色も明るくて良い感じです。
しかし、それも50歩100歩と言った感じかもしれませんが。

20231223-173805

で、50枚ほどを印刷した結果ですが、インクの減り具合はこんなところ。
これは正直、CANONの廉価プリンターよりは優秀かなと。CANONのやつだと、大容量インクでもこの時点で半分以上減ってます。

が、ちょっと気がかりなのは、カラーの3色の減り具合がほぼ同じであること。独立インクタンクなのに、なぜほぼ同じペースなのか?

どちらかというと青系をよく使っていたように思うんですが・・・まあ、この辺はもっとがっつり使ってみないと、何とも言えませんね。

やっぱりメーカー違いによる戸惑いや、今一つ不親切な感じ、でも印刷品質の高さなど、いろいろでした。
当分買い替える予定はないので、長い付き合いにはなることでしょう。壊れなければ、ですが。


エプソン カラー プリンター インクジェット複合機 カラリオ EW-052A 2019年モデル

2023年12月24日 (日)

Llama2ベースの東工大発日本語LLM「Swallow」が公開

今年はほんとに大規模言語モデル(LLM)隆盛の年でしたね。
そんな今年を締めくくるかのように、東工大から日本語に特化したLLMが公開されました。

tokyotech-llm (tokyotech-llm)

Llama2というMeta社の言語モデルがベースになってますが、やはり海外産のLLMだと英語特化なので、日本語向けにカスタマイズしたもののようです。

まあ、何にせよ、使ってみてその実力のほどを探ることにいたしましょう。
以下のようなコードを準備しておきます。

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

#model_name = "tokyotech-llm/Swallow-7b-instruct-hf"
model_name = "tokyotech-llm/Swallow-13b-instruct-hf"
#model_name = "tokyotech-llm/Swallow-70b-instruct-hf"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, device_map="auto")

PROMPT_DICT = {
    "prompt_input": (
        "以下に、あるタスクを説明する指示があり、それに付随する入力が更なる文脈を提供しています。"
        "リクエストを適切に完了するための回答を記述してください。\n\n"
        "### 指示:\n{instruction}\n\n### 入力:\n{input}\n\n### 応答:"
    ),
    "prompt_no_input": (
        "以下に、あるタスクを説明する指示があります。"
        "リクエストを適切に完了するための回答を記述してください。\n\n"
        "### 指示:\n{instruction}\n\n### 応答:"
    ),
}

def create_prompt(instruction, input=None):
    if input:
        # Use the 'prompt_input' template when additional input is provided
        return PROMPT_DICT["prompt_input"].format(instruction=instruction, input=input)
    else:
        # Use the 'prompt_no_input' template when no additional input is provided
        return PROMPT_DICT["prompt_no_input"].format(instruction=instruction)

# Example usage
instruction_example = "以下のトピックに関する詳細な情報を提供してください。"
input_example = "名古屋の食べ物でお勧めを教えてください。"
prompt = create_prompt(instruction_example, input_example)

input_ids = tokenizer.encode(
    prompt,
    add_special_tokens=False,
    return_tensors="pt"
)

tokens = model.generate(
    input_ids.to(device=model.device),
    max_new_tokens=512,
    temperature=0.99,
    top_p=0.95,
    do_sample=True,
)

out = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(out)

これを「swallow-instruct.py」とでも保存しておきます。
あとはこれを、

 python swallow-instruct.py

と実行すればOK。
なお、このままだと13b(130億パラメータモデル)が呼び出されるので注意(model_name = のところで、読み込みたいモデルのコメントアウトを外します)。
ですが、うちのメインメモリー64GB、GPUメモリー4GBでも、13bは実行できました。GPUメモリーはきっかり4GB使ってましたが。
ということで、以下、13bモデルによる実行結果を載せます。

まずは、上にあるような「名古屋の食べ物でお勧めを教えてください」という無難(?)なやつから試してみましょう。
すると、

### 入力:
名古屋の食べ物でお勧めを教えてください。

### 応答:味噌カツ、ひつまぶし、味噌煮込みうどんなど、名古屋の名物グルメが食べられます。

と返ってきました。
うーん、正しい答えだし、文章的にも問題はない。けど、ちょっとそっけないですね。
質問を変えます。

### 入力:
データドリブン経営について教えてください。

### 応答:データドリブン経営は、企業が大量のデータを収集し、意思決定を行っていく経営手法です。データ収集は、顧客の行動、 販売目標、収益など、さまざまなソースから行われます。企業は、情報を収集するために、さまざまなソースから大量の情報を収集し、分析するために分析ツールを使用する。意思決定の前に、データはいくつかのフィルターを通過し、分析、変換されます。データドリブン経営の目的は、ビジネス上の問題を迅速に特定し、それに適切な対応を行うためにデータを使用することである。

今度は、少々長めです。ビジネス的な解説が得意なんでしょうかね?
とまあ、ちょっと触った感じでは、さすがはLlama2ベースというだけあって、自然な言葉が返ってきます。書いていることも、おおよそ間違いではありません。

が、ちょっとそっけなさを感じるんですよねぇ。このあたり、Calm2の方が言葉多めで、個人的には好きです。

Calm2-7B-Chatを完全オフラインで使う: EeePCの軌跡

まあそこは、好みというか、使い方次第なところはあるかと思いますね。

ちなみにですが、70b(700億パラメータ)が動くかどうか、やってみました。
上のコードで、「tokyotech-llm/Swallow-70b-instruct-hf」のモデルを読む部分をコメントアウトするだけ、できます。

で、結論から言えば、我が家のしょぼしょぼGPU環境で動きました。

20231224-080316

が、やはりというか、とんでもないモデルでして。まずはダウンロードで、5GB級のファイルを29個、全部で140GB以上のファイルをダウンロードし始めます。

20231223-212833

それが終わるや、今度は64GBのメインメモリーに、4GBのGPUメモリーをすべて使い果たします。それでも足らず、スワップして84GB分のメモリーを確保しつつ動作してました。
そして、それから数時間。
待ちきれなかったので、昨日の夜に放置しておいたのですが、今朝になったらコマンドプロンプト上に、以下のような回答が返ってきてました。

### 入力:
名古屋の食べ物でお勧めを教えてください。

### 応答:味噌カツ、手羽先、ひつまぶし、天むす、モーニング、名古屋カレーうどん、どて煮など、名古屋にはおいしい食べ物がた くさんあります!

うーん、13bとほとんど変わらない?少し、レパートリーが増えた気はしますが。
質問にもよるんでしょうが、まあこんなところです。13bとの差をあまり感じませんでした。というより、真価を発揮できなかったというか、そんなところです。
とはいえ、個人的には動いたという事実だけで驚きですね。以前ならこれほど大きなパラメータのモデルが動作するなんてありえませんでしたから。メモリー消費量を減らす工夫も、この1年ほどでかなり進んだように思います。

とまあ、LLMの民主化も進みつつありますよね。

この先、ChatGPTのようなクラウド利用型と、Llama2や先のCalm2などの独自LLMを始めとするオープンソース型の争いになるのではと感じます。

ユーザーとしては、2つの選択肢から都合の良いものを選べる時代に突入した、ということになろうかと思います。
いずれにせよ、選択肢があるということは、この先もLLMが発展を続けられる土壌を持てたのだと、個人的には思ってます。これから幻滅期には入るでしょうが、消えることはないですね、この技術は。身近な生活に定着が進んでいくものと予想します。


ChatGPTなどの生成AIを実現した LLM(大規模言語モデル)超入門!: AI時代を理解するために知っておきたい 大規模言語モデル 初心者向け解説書 超入門! シリーズ

2023年12月23日 (土)

大須に行ってきました

子供らが冬休みに入ったということもあり、大須へ行ってきました。

Img_4379_20231223193001

とにかく今日はいい天気でした。が、その分、寒い。
風はないんですが、とにかく空気がひんやりとします。

ちなみに、上の写真を使って「天気晴朗なれども人多し」ってツイートしたんですが、よく見ると人が全然映ってない。

Img_4407_20231223193401

が、一歩商店街に入ると御覧の通り、人だかりです。

Img_4377

ところで、SPY×FAMILYにあやかり(?)、いつもの招き猫がアーニャにされてました。

Img_4414

ちなみにこの後に行くと、その下でライブやってましたね。「OS☆U」という、大須中心に活動するアイドルグループだそうです。この寒いのに、元気です。

Img_4390_20231223193801

さて、そんな大須ですが、第一アメ横ビル内のあの名物がらくた屋?は健在です。

Img_4391_20231223193801

いつも通り、織田信秀公墓廟にも立ち寄ります。

Img_4393_20231223193901

イオシスは相変わらず気になる端末が多い。が、今回はこれと言って欲しいものが見当たらなかったので、買いませんでした。

Img_4397

今回はむしろ、この「まんだらけ」や、

Img_4408_20231223194001

こんな感じのマニアックなおもちゃ屋を回ってました。もちろん、レトロゲーム屋にも寄りました。カセットビジョンが置いてあったんですよね。ジャンク品でしたが。

Img_4395_20231223194201

歩き回ってると、小腹が空いてきたので何か食べようかということになって、食べ歩きの店も物色してました。
その中で、よく見かけたのがこれ。10円パン。
10円パンと言いつつ、500円します。他にも10ウォンパンなんてのもありました。
唐揚げやといい、韓国系のお店が目立ちましたね。

Img_4409

が、行ったのはここ。バーガーキングの近くにあるケバブのお店。あの肉の塊の誘惑にはかないません。
そこでドリンクとポテト、串焼きのケバブを一つ買いました。
美味しかったですが、さすがに外で食べるのは寒すぎましたね。

Img_4402

気になったことと言えば、大須観音には大量の鳩がいるんですが、いつもと比べて少ないんです。3分の1くらい。どこに行っちゃたんでしょう?気になります。

とまあ、あてどなく大須に行ってきました。まあ、こういうのもいいですよね。

うみゃーがね!名古屋の大須のみそのさん (アクションコミックス)

2023年12月20日 (水)

EPSON製プリンター「EW-052A」を購入

先週の金曜日に、熱を出しまして。
夜中には38.2度に達し、こりゃあいよいよインフルかなぁと思ったら、翌日には36.7度まで下がってしまい、病院にはいかず。
ですが、食欲が落ちたためか、それから5日の間に2kgほど体重が減りました。

まあ、そんな病み上がり状態で、こんなものを買ってきました。

Img_4361

EPSONのプリンター、カラリオ「EW-052A」です。

要するに、EPSONで一番安いプリンター。ただし、4色独立インクで、安いながらも無駄なく使えそうな感じのするプリンターです。

実は20年以上、ずーっとCANONを使い続けていたんですよね。
というのも、CANONのプリンターって、インクヘッドが変えられるというメリットがあったんです。
逆い言うと、交換できる程度のインクヘッドだから、印刷品質もそこそこという事情もありましたけど。

昔、EPSONのカラリオを使ってた時があったんですが、その時、たった一点のインク詰まりのおかげで使い物にならなくなったんです。
それ以来、ずっとインクヘッドが交換できるCANONを使い続けてきたというわけです。

が、さすがにそろそろEPSONだって使える時代に入ったんじゃないの?ということで、思い切って今回は、あえてEPSON製を購入してみた次第です。
加えて、うちのCANONプリンター「MG3530」が寿命を迎えつつあるんですよね。ローターが劣化したのか、紙を吸わなくなってきました。もう8年ですからね。

Img_4362_20231220192101

てことで、前置きが長くなりましたが、開封します。これが中身全部です。

未だにCD-ROMつけてんですね。そこに驚きです。読めるPC持ってる人、どれくらいいるんでしょう?

Img_4363_20231220192201

とまあ、それは置いておき、設置してみた。

第一印象は「ちっさ!」でした。
これまでのCANONのプリンターは、スキャナー脇に電源類のスイッチがついてたんですよね。その分、横に張り出してました。
が、EPSONのこれは、それが前面にある感じ。
ちなみに、CANONの最廉価プリンターは未だにスキャナー脇でした。

Img_4364_20231220192401

ただ、いままで前面給紙だったのが、背面給紙に変わりました。

もっとも、これはCANONでも今の最廉価は背面給紙になってましたが。なので、これ自体は特に決め手にはなりませんでした。
これを買った決め手は、別にあります。

Img_4365_20231220194801

なお、複合機なので、上面にはスキャナーがついてます。これも、今までのプリンターと同じ。

Img_4366_20231220195201

インクを投入するには、御覧の通り真ん中からガバッと開ける必要があります。いやまあ、今までのプリンターも同じか。

Img_4367_20231220195201

これが今回、このプリンターに決めた最大の「決め手」と言えるものでしょうか。
つまり、4色独立インクってところです。
今まではカラーの3色が一体だったので、一色でも切れると全交換。これが結構お高い。
ですが、今度のやつは一色づつ交換が可能。てことで、以前よりは無駄がないはずです。

その4色独立インクを放り込むんですが、なぜか黒だけ、4、5回振れと書いてありました。

Img_4368_20231220195301

で、ようやく4色をセット。今までは黒とカラーの2つのカードリッジだったので、これは久々の感覚ですね。

Img_4369_20231220195401

ただ、インクを入れて最初に初期装填作業ってのをやらなきゃいけなくて、それをやってました。これが結構時間かかる。

Img_4370_20231220195501

今度はそれが終わると、Wi-Fi接続作業です。ルーター側でWPSボタンを押して、こっちではWi-Fiボタンを長押しすると、そのうち接続してくれます。

Img_4371

ここで、テストパターンのプリントを実行。うーん、上手くいってるのかなぁ。まあ、良しとします。

Img_4372

とまあ、ここまでおぜん立てしたというのに、ネットから落としたドライバーソフトで、なぜかまた接続設定をやろうとしてくれます。

いやもう終わってるからいいよと言いたいんですが、延々と待たされて、諦めて帰ってきます。

Img_4373_20231220195801

すったもんだしてたら、やっと接続が完了し、テストプリント実行。

Img_4374_20231220195901

なんか出てきました。

Img_4375_20231220195901

まあ、良好な結果ですかね。色ずれもありません、上々です。

てことで、今日はこの辺で勘弁しといてやりました。

あとは、年賀状印刷ですね。ほぼプリンターの用途って、年賀所と年に数回の印刷、コピーくらい。
ほんと、ペーパーレス化が進みました。年賀状自体も、出さなくなった人が多くて、枚数は最盛期の半分以下まで減ってます。

あと10年もすれば、年賀状自体がなくなるかもしれません。

とはいえ、プリンターって完全になくすことはできない存在。このEPSON製プリンター、どこまで使えるやつなのか? これからも付き合っていきます。

エプソン カラー プリンター インクジェット複合機 カラリオ EW-052A 2019年モデル

2023年12月12日 (火)

一般家庭で1PB(=1000TB)のHDDを導入するには?

「節子、それ一般家庭やない、逸般家庭や」

と言いたくなるようなレベルのお話ですが、単に1PB分のHDDを集めたらすんなりと組めるわけではないのだと分かる記事が出ておりました。ちょっと面白いので、紹介。

一般のご家庭に1PB(1000TB)のHDD | IIJ Engineers Blog

まあ、1000TBなんてディスク、何に使うのかまったくもって不明ですが、そんな私でさえ、20年前には「1TBなんて容量、誰が使い切れるんだよ」と思ってたわけですから、もう20年もすると1PBなんて子供のスマホにすら搭載されてる容量となるかもしれません。

で、その1PBのHDDですが、一筋縄ではいかなかった模様です。

まず、USB接続を試したみたいですが、こちらは20台を超える辺りからだめ。

次いで、eSATAでの接続を試みますが、最初に試したカードは「SAS/SATAカード ARECA ARC-1320」というもので、いいところまではいったものの、40台で不安定になった模様。

で、最後には「JMicron JMB585」というコントローラーを搭載したカードに行きついたようです。わりと採用製品が豊富で、しかもLinuxの標準ドライバで対応。それでいて、1コントローラーで75台まで行ける模様です。

にしても、HDDが8TB×3、14TB×12、16TB×12、18TB×32、20TB×8だそうです。で、表示される容量は「1,093,642,233,856byte」となった模様。

1PB=1024TBという換算だと、微妙に足りない容量となるみたいですが、まあこれだけつないで動いたのなら、良しとしたいところ。

にしても、いくらかけたんでしょうねぇ・・・20TBって、普通に5万円以上するんですがそれは。

もし1PBの記憶容量が必要だとなったときは、この記事が参考になりそうです。まあ、自宅でクラウドサービスでも始めない限りはよっぽど要らないでしょうし、仮にそんなものを始めたところで、遅くて使い物になるかどうか。。。


TOSHIBA 東芝 MG10 内蔵ハードディスク サーバー NAS 用 3.5インチ Enterprise HDD 20TB SATA 7200rpm 3年保証 MG10ACA20TE

2023年12月 8日 (金)

日経Linux最後の号を購入

今月は、よく読んでいた雑誌が3誌、休刊を迎えます。

Img_4353_20231208171501

で、今週はこの2誌が最終号を出してました。
日経Linuxと、まんがタウンです。

どちらも20年以上、紙雑誌として売られ続けた雑誌ですが、ついに最後の時を迎えてしまいました。

Img_4354_20231208171701

ちなみに、日経Linuxの方は別冊として、創刊からの全254冊の目次を掲載してました。

Img_4355_20231208171801

まあなんとなくぱらぱらとみていたんですが、そういえば日経Linuxが出ていた25年の間に、個人的にはLinuxにとっての大事件が大きく二つ、ありましたね。

Img_4357_20231208171801

一つは、このブログの表題にもなっている「EeePC」。
2008年3月号では、当時話題だったEeePC 4G-Xの国内発売のニュースが取り上げられてました。
日本ではWindows版しか発売されなかったEeePCですが、実は元々はLinuxを搭載し、安価に作られたPCだったんですよね。
それに危機感を感じたMicrosoftが、当時としては激重なOSだったVistaへ移行しつつある当時の状況にあって、この安価なPC向けにWindows XPを復活させたんですよね。

後にこのタイプのPCを「ネットブック」と呼ぶようになります。

このネットブック自体は、今はもう残っておりませんけど、その後のタブレット登場や、そしてスマホの台頭につながる一つの歴史的な流れを生んだような気がしておりますね。お気軽に手元でネットを楽しむ環境の提供、そういう意味ではネットブックもスマホも同じです。
で、このあたりから日本メーカーの没落が始まりました。

Img_4356

さて、もう一つの事件は、第3次AIブームです。ここ日本では、2016年暮れごろから始まったように思います。
日経Linuxを見ると、2017年のこの号から「人工知能」というキーワードが登場していたようです。

他にもラズパイが登場し、一世を風靡しましたね。今もラズパイ自体は活用が続いてます。でもまあ、あれはネットブックと根っこが同じで、いわゆる「100ドルPC」構想から派生した安価なコンピューターとして出てきましたよね。

そんななか、Linux単体での訴求点がなくなってきたというのか、日経ソフトウェアに統合する形で本誌は消えてしまうときを迎えてしまいました。

ちょくちょく購入しておりましたが、残念ですね。

以前は最新版のUbuntuが出るたびに、CD-ROMを持っておくために買ってました。でも最近は円盤付きがほとんどなくなりました。そもそも読み込む光学ドライブを持ってる人が減りましたし、ネットで手に入れた方が早いですし。

ということでこの日経Linuxの最終号は、永久保存版ですかねぇ。

Img_4347

ちなみにもう一つのまんがタウンも、23年間続いての消滅です。
「新婚のいろはさん」を読むために買ったのが始まりですが、気づいたらいくつかの連載を読んでました。
この休刊に合わせて、いくつかの連載が止まってしまいました。残りもWebアクションなどに移行してます。

紙出版誌にとっては、衰退の時代ですね。言われてみれば紙の雑誌を買う量が減りました。それでも毎月、なんだかんだと2、3冊は買ってますけどね。

なお、今月終わりには「DOS/V PowerReport」誌が休刊です。買わなきゃ。

日経Linux(リナックス) 2024年1月号 [雑誌]

« 2023年11月 | トップページ | 2024年1月 »

当ブログ内検索

スポンサード リンク

ブログ村

無料ブログはココログ