IT & AIテクノロジー

[ChatStream] Rakuten/RakutenAI-7B-chat用の ChatPrompt

ChatStream Guide

[ChatStream] Rakuten/RakutenAI-7B-chat用の ChatPrompt

昨日発表された Rakuten/RakutenAI-7B-chat 用の ChatPrompt をご紹介します from chatstream import AbstractChatPrompt SYSTEM_PROMPT = """\ A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. \ """ class ChatPromptRakutenMistral(AbstractChatPrompt): def __init__(self): super(

By Qualiteg プロダクト開発部
[自作日記15] SW編:Ubuntu インストール手順

GPUマシン自作

[自作日記15] SW編:Ubuntu インストール手順

こんにちは! 前回つくったUSBドライブから、Ubuntu 22.4 をGPUマシンにインストールしていきましょう! 2.0 LANケーブルを接続する インストールする前に、GPUマシンにLANケーブルを接続してインターネットが使える状態にしておきましょう。 2.1 USB メモリからブートする 2.1 で作成した USB メモリ を GPUマシンのUSBポートに挿します USBドライブを挿したら、 PCケースの電源ボタンを押して電源を入れましょう。 するとマザーボードの初期起動画面が表示されるので キーボードで F11 を押しながら待ちます ブートデバイスを選択する画面がでたら、 UEFI: USB を選択してエンターを押します しばらくすると Ubuntuのインストール画面が表示されるので Try or install ubuntu を選択してエンターを押します これでUbuntu のインストールが開始するのをまちます 2.2 Ubuntu OS のインストール Ubuntu OS のインストーラーが開始したら、Ubuntu

By Qualiteg Boot Camp
[自作日記14] SW編:Ubuntu のインストールUSBの作成

GPUマシン自作

[自作日記14] SW編:Ubuntu のインストールUSBの作成

こんにちは! 今回からは、GPUマシンをAIマシンにすべく、ソフトウェア編の開始です! 目標は Ubuntu OS で GPU使用できる状態にし、最終的に LLMをつかった推論をできるところまでもっていきます。 1. Ubuntu のインストールUSBの作成 GPUマシンのメインOSは Ubuntu を導入したいため、これからUbuntuのインストールを行います。 Ubuntuのインストールにはいくつかの方法がありますが、事務用パソコンのWindowsを使用してUbuntuイメージが入ったUSBメモリを作成し、それをもって Ubuntu をまっさらなPCにインストールしていくアプローチをとろうと思います。 1.1 USBメモリ(32GB以下)の準備 まず、Ubuntuのイメージを焼くUSBメモリを準備します。 USBメモリは下に示す理由の為、 32GB 以下のものを準備しましょう。 * USB メモリが 32GB を超えると、FAT32 フォーマットができなくなる * ブートにつかう USB メモリ は FAT32 でフォーマットされている必要がある

By Qualiteg Boot Camp
[AI数理]徹底的に交差エントロピー(3)

AI数理

[AI数理]徹底的に交差エントロピー(3)

おはようございます!(株) Qualiteg 研究部です。 今回は、尤度関数から交差エントロピーを導いていきたいとおもいます! 4章 尤度関数から交差エントロピーを導く さて、今までは 20回ぶんサイコロを投げて、起こった事象(出た目が1なのか、2なのか、・・・、6なのか) を数えた結果を以下の表のようにまとめました。 では、こんどは、1回ぶんサイコロを投げたときどうのようになるかみてみます。 1回サイコロをなげた結果が 1の目 だった場合は、以下のように書くことができます。 (でた目のところに✔マークをいれただけです) さて、?だと計算にもっていきづらいので、出た目のところを \(1\) にして、出なかった目は \(0\) と置き換えることにします。 ( \(1\) が記載されている目は その目にとっては 頻度 = 確率 = \(1\) と考え、 \(0\) が記載されている目は、その試行では出なかったので、 頻度 = 確率 = \(0\) と考えると理解しやすいかもしれません。) すると、結果 列は以下のように

By Qualiteg 研究部
[自作日記13] 電源ケーブルの結線

GPUマシン自作

[自作日記13] 電源ケーブルの結線

さて、そろそろ組み立ても終盤です!がんばりましょう! 1.マザーボード用給電ケーブルを挿す 24ピンATXケーブルというもっともたくさん束ねられているケーブルがありますので、まずはそれを電源側の M/B 表記のところに挿し込みます 次に同ケーブルをマザーボード側に挿します。 しっかりツメがかみ合うように装着します 2.CPUへの給電ケーブルを挿す 次はCPUケーブルです。通常6ピン+2ピンの構成になっており、こちらも電源側とマザーボード側双方に装着します。 まず電源側の CPU/PCI-E と表示のあるところに、片一方を挿します 続いてマザーボード側にも挿しましょう。 しっかりと挿さりました マザーボード表面に CPU PWR1,CPU PWR2 と書いてある場合もあれば、 ATX12V1,ATX12V2 とだけ書いてある場合などがあります。メーカーによって表記が異なります。 3.グラフィックボード用の給電ケーブルを挿す グラボの種類にもよりますが、大型グラボは多くの電力を必要とします。今回のグラフィックボードは 3系統のPCI電源が必要となるため

By Qualiteg Boot Camp
LLMのデータファイルを無圧縮ZIPにする

日々の開発Tips

LLMのデータファイルを無圧縮ZIPにする

LLMサービスをつくっていると、1回ダウンロードしたLLMを別のサーバーに移動するということをよくやります。 (同一構成のサーバーで同じLLMモデルつかいたいときは、たとえば、HuggingFaceから再度ダウンロードするより早いので) このときフォルダのままだと移動しづらいとき ZIP に圧縮します。 無圧縮だと、GB単位でも結構高速に圧縮できます。 ZIP のインストール sudo apt install zip -y 無圧縮ZIPの作成 対象の LLM ディレクトリを指定して、以下のコマンドを実行 たとえば、LLMディレクトリが /mnt/d/RakutenAI-7B-chat-awq のとき、 cd /mnt/c/RakutenAI-7B-chat-awq zip -r -0 /mnt/c/RakutenAI-7B-chat-awq.zip . コマンド詳細 * cd /mnt/c/RakutenAI-7B-chat-awq: 圧縮するフォルダに移動します。 * zip: zipコマンドの実行 * -r: フォルダ内のファイルやサブフォルダを再帰的

By Qualiteg プロダクト開発部
[AI数理]徹底的に交差エントロピー(2)

AI数理

[AI数理]徹底的に交差エントロピー(2)

おはようございます!(株) Qualiteg 研究部です。 早速、前回の続きをやっていきましょう! 2章 分類問題は「確率」の予測として解釈する Deep Learning やロジスティック回帰などで解きたい 分類問題 では、入力データがどのクラスに分類されるのかを予測します。 まず入力データが 何かに 分類される とはどういうことなのかを考えてみます。 たとえば、ある動物の画像を入力データとしたとき、その画像がイヌ、キツネ、オオカミ の3つのうちどれなのかを予測する 分類器 を考えます。 (分類器 は 入力と処理と出力があり、入力は画像データで、処理として ニューラルネットワーク や ロジスティック回帰 などの 計算処理 をおこない、分類結果を出力するプログラムコードと考えます) この 分類器 にたとえば 「イヌ」の画像を入力し、分類させた結果は 「イヌ」 とダイレクトに判定されるわけではありません。 ではどのように 分類するか

By Qualiteg 研究部
[自作日記12] グラボをマザーボードに装着!

GPUマシン自作

[自作日記12] グラボをマザーボードに装着!

今回は、いよいよ、主役のグラフィックボードを装着します! 1.PCI Express スロットのカバーをはずす グラフィックボードを挿入するのは PCI Express gen 5 x16 スロットなので、その部分のカバーをはずします。 また、今回のグラフィックボードは 4 スロット占有なのでそこから4スロット分のカバーをはずしておきます。 2.グラフィックボードを開梱する 今回のパーツでもっとも高価だったグラボをいよいよ開梱しましょう! おおおグラボ本体と、支え用のアームが入っています。 袋からとりだすと、34センチのビッグサイズの MSI SUPRIM X GeForce RTX 3090 Tiがお目見え! ヒートシンクがすごいですね。 こちらら側は、3連装のプロペラファンです。MSIのドラゴンマークがかっこいいです。 コンシューマー用グラボは見た目もかっこいいですね。 さて、さっそく、このグラフィックボードを、PCI Express スロットに装着するんですが、端子部分に実はカバーがかかっていますので、 まず、そのカバーを外します。 端子カバーをは

By Qualiteg Boot Camp
[自作日記11] マザーボードとケースの配線をする

GPUマシン自作

[自作日記11] マザーボードとケースの配線をする

今回は、マザーボードをケースに装着し各種配線を行っていきます! 1. スペーサーネジをはめる ケースにはスペーサーネジというものが付属しています。これをケースにハメていきます。スペーサーはマザーボードを ”浮かせた” 状態で固定するためのものです。 このスペーサーをケースにあいたネジ穴にはめていきます。ケースにはネジ穴があらかじめあいており、ネジ穴にはヒントが書いてあります。 今回のケースには ATX と Mini ATX のフォームファクタのマザーボードに対応しており、ネジ穴は、どのフォームファクタ向けのネジ穴なのかがヒントとして書いてあります。 フォームファクタとは PCケースのサイズや形状の規格を指し、主にマザーボードとの互換性に基づいて定義されます。主なフォームファクタには以下のようなものがあります: 1. ATX: * 標準ATXは、最も一般的なフォームファクタで、多くの拡張スロットと豊富な接続ポートを備えています。サイズはおおよそ30.5cm x 24.4cmです。 * Micro-ATX(マイクロATX)は、標準ATXよりも小さく、サ

By Qualiteg Boot Camp
[AI数理]徹底的に交差エントロピー(1)

AI数理

[AI数理]徹底的に交差エントロピー(1)

おはようございます!(株) Qualiteg 研究部です。 今日からは交差エントロピーについて、徹底的に学んでいきたいとおもいます。 交差エントロピー関数の式は2つあるの? 本シリーズではは、機械学習で分類問題の損失関数としてよく使用される交差エントロピー関数をとりあげます。 実はこれまで学んできた 指数関数や対数関数の微分法は、この交差エントロピー関数を深く理解するためのものでした。 交差エントロピーがどのような性質をもっていて、どのように導かれていくのかを理解するのは今後のLLMの仕組み解明でも大いに役立つのでしっかりみていきたいとおもいます! さて、さっそくですが、 下の \((1)\) は 交差エントロピー関数 です $$ \ - \frac{1}{N} \sum_{i}^{N} \sum_{k}^{K} t_{ik} \log y_{ik} \tag{1} $$ 下の \((2)\) も、 交差エントロピー関数 です。 $$ \ - \frac{1}{N} \sum_{i}

By Qualiteg 研究部
逐次生成されるトークンのバッファリング

日々の開発Tips

逐次生成されるトークンのバッファリング

こんにちは! (株)Qualiteg プロダクト開発部 です! 今日は、推論シーンでよくある、トークン細切れ問題に対処する方法をご紹介します。 ストリーミングチャットで使用する逐次生成のとき、文章は1トークンずつ生成されますが、1トークンは”単語単位”でもなければ”1文字”単位でもなく、学習時使われていたトークナイザーの処理に依存します。 一般的には 形態素解析→サブワード→語彙リスト構築 を行いますが、このとき、後で文章生成するときに重要なタグ、たとえば "<NL>" というタグが重要な意味をもつにもかかわらず、細切れにされてトークナイズされてしまうことがあります。たとえば、 "<" "N" "L>" のように粉砕されてしまうようなパターンです。 (これを避ける方法はあるのですが、今回は、学習済のモデルをあからじめ与えられた状態でどうするか、を考えます) こういうパターンが発生してしまったとき逐次生成で "

By Qualiteg プロダクト開発部
[自作日記10] マザーボードにCPU、メモリ、SSDを装着する

GPUマシン自作

[自作日記10] マザーボードにCPU、メモリ、SSDを装着する

マザーボードまわりをセットアップしていきます 1.マザーボード 開封の儀 今回購入したマザーボードは 【ASRock Z690 Steel Legend WiFi 6E/D5】です。 早速開封していきましょう! 箱をあけると、ケーブル類とマニュアル類が上段の小箱にはいっています。 つぎに、中箱をあけます。 おーマザーボードが見えてきました 美しい! ワクワクしてきました~ 写真左側中央部は LGA 1700 ソケットにカバーがかかった状態です。ここにCPUを設置します。 また LGA 1700 ソケットの上側にはメモリモジュールを挿入する DDR5 のメモリスロット4つがみえます。 そして水平中央付近に SSD を設置する M.2 スロットがあります。(写真ではヒートシンクがありますが、その下にスロットがあります) そこからやや右側にグラボを挿す PCI Express x16 スロットがあります。 ざっとこんな感じで主要部品を設置していきましょう。 2.マザーボードの配線図はあらかじめ印刷しておくと便利 付属のマニュアルに配線図がついている

By Qualiteg Boot Camp
[AI数理]対数関数の微分法・後編

AI数理

[AI数理]対数関数の微分法・後編

おはようございます!(株) Qualiteg 研究部です。 本日は対数関数の微分法の後編です! 今回で、対数関数の微分法をマスターしましょう! 2. 対数関数の公式 まず、対数関数の公式をおさえておきます。あとで対数関数の微分法の導出で使用します \(a^{0} = 1\) 、つまり \(a\) を \(0\) 乗すると \(1\) となるため $$ \log_a 1 = 0 \tag{2.1} $$ \(a^{1} = a\) 、つまり \(a\) を \(1\) 乗すると \(a\) となるため $$ \log_a a = 1 \tag{2.2} $$ 積の対数 $$ \log_a (X

By Qualiteg 研究部
[自作日記9] AI研究用GPUマシンパーツと組み立て開始!

GPUマシン自作

[自作日記9] AI研究用GPUマシンパーツと組み立て開始!

昨日、秋葉原で合計41.5万円分のGPUマシンのパーツを購入してきましたのでご報告します! GPUマシンパーツ * マザーボード: ASRock Z690 Steel Legend 約4万円 * メモリ: Crucial デスクトップ用 DDR5 32G x 2 = 約3万円 * CPU: Intel Core i7 12700 約5万円 * GPU:MSI SUPRIM X GeForce RTX 3090 Ti 約20万円 * SSD:SAMSUNG 980 PRO 2T 約3万円 * 電源:850W OWLTECH PC電源 850W /ATX /Titanium 約4.5万円 * ケース:Fractal

By Qualiteg Boot Camp
[ChatStream] rinna/nekomata-14b-instruction 用の ChatPromptクラス

ChatStream Guide

[ChatStream] rinna/nekomata-14b-instruction 用の ChatPromptクラス

2023/12/21 に発表された rinna/nekomata-14b-instruction 用の ChatPrompt をご紹介します nekomataシリーズは Qwen をベースモデルしているおり、語彙サイズが 15.2万とこれまでより大幅に大きいため、日本語対応にもおおいに期待できそうですね 今回はInstructionチューニングされたモデルをChatStreamのチャットモードで利用するためのChatPromptを作りました。 設計思想としましては、あるタスクとChatPrompt を対応させる、という考え方です。簡単にいうと、1つのChatPromptは1つの仕事に特化させる、というところでしょうか。 たとえば、今回は、「翻訳」というタスクに特化した ChatPrompt の例です。 これにより 翻訳 というタスクに対して、 「入力」と「出力」というをチャットインタフェースを通して行います。 from chatstream import AbstractChatPrompt from chatstream.chat_prompt.prompt_ttl im

By Qualiteg プロダクト開発部
[自作日記8] 電源、SSD、ケースは?

GPUマシン自作

[自作日記8] 電源、SSD、ケースは?

今日は電源、SSD、ケースの購入です! Junです。 残りは電源とSSD、ケースをゲットすれば一通り揃いそうです。 また、置手紙をみてみます。 ⑥ SSD は 1T以上。 ⑦ 電源は 800W 以上、 80Plus Titanium ⑧ ケースはグラボがちゃんと入ることを確認すること! SSDの選定 SSDは、1T以上ということで、 3万円の SAMSUNG 980 PRO 2T を購入。 電源の選定 電源装置は 800W 以上ということで 850W OWLTECH PC電源 850W /ATX /Titanium PRIMETX850S を 4.5万円で購入しました。 ケースの選定 さて、残るはケースです。 ⑧ ケースはグラボがちゃんと入ることを確認すること! この意味がよくわからなかったので、店員さんに相談することにしました。 今回は ATX サイズのケースを購入する予定ですが、 ATX

By Qualiteg Boot Camp