AI-Business
[AI新規事業創出]Qualitegが考える、自身の成果実証のための定量的ゴール定義とは
新規事業のゴール設定では、多くのクライアントが数値目標を設定していないため、後に困難を経験することが多いです。定量的ゴール定義は、具体的な数値を用いて目標を設定し、目標達成の進捗を明確に測定する手法です。これにより、モチベーションの向上、効率的なリソース配分、成果の最大化に寄与します。事業初期に数値目標を設定することの重要性を解説しています。
AI-Business
新規事業のゴール設定では、多くのクライアントが数値目標を設定していないため、後に困難を経験することが多いです。定量的ゴール定義は、具体的な数値を用いて目標を設定し、目標達成の進捗を明確に測定する手法です。これにより、モチベーションの向上、効率的なリソース配分、成果の最大化に寄与します。事業初期に数値目標を設定することの重要性を解説しています。
ChatStream Guide
こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、 ChatStream にLlama2 対応の ChatPrompt を同梱いたしましたのでご紹介いたします! 現在の ChatPrompt は以下とおりとなっております。旧バージョンのChatStreamをご利用の場合も、以下コードにて Llama2対応可能です。(もちろん最新バージョンのChatStreamには同梱済です) from chatstream import AbstractChatPrompt from chatstream.chat_prompt.role_type import RoleType SYSTEM_PROMPT = """\ You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while
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
ChatStream Guide
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
ChatStream Guide
こんにちは (株)Qualiteg プロダクト開発本部です! HuggingFace の LLMのモデル読み込み時間ってとても長いですよね、そんなときに、便利なツールをご紹介します。 HuggingFace の LLM モデルはダウンロードするときは、進捗がでるのですが、ひとたびダウンロードしたあとは、読み込むまで短くて数分、長くて数十分待たされます。これはディスクからモデルデータ(weights and bias)を処理しながらGPUのVRAMに読み込む処理に時間がかかるのですが、その読み込み状態がいったいいまどのくらいなのか、これがわからず、ヤキモキしたことは無いでしょうか。 そこでは ChatStreamの便利機能として、以下のように、このモデル読み込み時間のプログレス表示をすることができます。 仕掛けはいたってシンプルで、初回の読み込み実行時に処理時間を計測しておき、2回目、また同じ処理が呼ばれたときはプログレスバーを表示します。 使い方も簡単で、モデルの読み込みを LoadTime でラップするだけで、プログレスバーつきで読み込むことができます Before
AI-Business
競合サービス調査はアイディア創出前に重要で、市場ニーズと競合の戦略を理解するために行います。具体的には、サービス内容、価格設定、市場の魅力度や競合のビジネスモデルを詳細に分析し、自社の差別化ポイントを見つけるためです。大手企業は、M&Aの可能性も検討します。
ChatStream Guide
こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、モックデータの作成方法について説明します! これは正式には「Transformer Mock」と呼ばれている機能のためのもので、実際のLLM出力をレコーディングして再現するためのものです。 なぜこんなことが必要かというと、 LLM アプリのテスト(単体テストなど)で使用します。LLMアプリのテストをするとき、古典的な単体テストでは、入力に対して期待する出力は固定されていることが前提です。 ところがLLMはその特性上、同一の入力に対しても毎回異なる応答を返してきます。そこが生成AIの良いところですが古典的な単体テストをするときには悩んでしまいます。 ここで賢い読者の皆様は、同一の入力に対して、同一の出力を得たいなら、シードを固定すればいいじゃん。とお考えの方もいらっしゃるとおもいますが、シード値を固定して、入力を固定して、各種サンプリングパラメータを固定しても GPUの種類が異なると異なる出力を出してしまう、ということがわかっています。 これでは、GPUを変更したとたんに単体テストが通らなくなって困ってし
GPUマシン自作
今日は電源、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
LLM セキュリティ
こんにちは、Qualiteg研究部です。 今回は、データベースなど外部の情報を使用しない「ゼロリソース」状態での幻覚(ハルシネーション)検出の手法である以下論文について解説いたします。 SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models https://arxiv.org/abs/2303.08896 背景 LLMが出力する「幻覚」の問題 近年、生成型大規模言語モデル(LLMs)は、多様なユーザープロンプトに対して非常に流暢な応答を生成する能力を持っています。 しかし、これらのモデルは事実を幻覚させたり、非事実的な発言をすることが知られており、出力への信頼性を損なう可能性があります。 この問題に対処するための既存のファクトチェック手法は、出力確率分布へのアクセスが必要だったり、外部データベースを使用した複雑なモジュールを必要としたりします。 本論文では、SelfCheckGPTと呼ばれる新しいアプローチを提案しています。このア
AI数理
おはようございます!(株) Qualiteg 研究部です。 本日から2回にわたって対数関数について学んでいきましょう。 正確にいうと、対数関数の微分法を学びます。 対数関数って何だっけ? まず、対数関数というのは、「ある数 \( x \) が別の数 \( b \) を何回かけると \( x \) になるか」を調べる方法です。例えば、\( b \) が 2 で \( x \) が 8 の場合、2 を 3 回かけると 8 になります。この場合、数学的には「\( b \) の \( x \) に対する対数」と言います。 これを数式で表すと、次のようになります: $$ \log_b(x) = y $$ ここで \( b \) は底(
ChatStream Guide
こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、LLMの読み込みに時間がかかるときに使えるテクニックについてご紹介いたします。 テスト用途や、ChatStream の API をつかったサンプルアプリを実装したいときに、何度か ChatStream を再起動しては、試してみたいというシーンがあります。そういうときに、本来は LLM として読み込まなくても、ChatStreamのAPIにそった”決まり切った”レスポンスで問題がないという場合があります。 このとき、サイズの小さなLLMを読んで読み込み時間を短縮するというワザもあるのですが、そもそも、固定的なレスポンスを返してくれればそれでOKという場合は、 Mockレスポンス を指定することができます。 再起動のたびに、 LLM を読み込む時間にストレスを感じていた方はぜひこちらをお試しくださいませ! Generator Mockレスポンスの利用(高速起動) Generator Mockレスポンスを使用すると読み込みに時間のかかる事前学習済言語モデルのかわりに、ダミーの文章を生成させることがで
AI-Business
新規事業の検討において、クライアントからの相談は手段ありきで始まることが多く、DXやAI導入の提案が役員から承認されないケースが多いです。事業化の承認を得るためには、なぜその事業を自社で行う必要があるのか、その目的とゴールを明確に設定することが重要です。
ChatStream Guide
こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、 ChatStream を使って、コンソールチャットを作成する方法について説明いたします! handle_console_input メソッドを使用することで CLI ベースのチャットを簡単に作成しモデルを試すことができます chat.py import asyncio import torch from transformers import AutoTokenizer, AutoModelForCausalLM from chatstream import ChatStream, ChatPromptTogetherRedPajamaINCITEChat as ChatPrompt, LoadTime model_path = "togethercomputer/RedPajama-INCITE-Chat-3B-v1" device = "cuda" # "cuda" / "cpu"
GPUマシン自作
今回は、コンシューマー用GPUは本格的なAI計算に使用できるのか、プロ用GPUとの違いは何か。比較も交えながら考えてみたいと思います。 私たちAI ベンチャー(ベンチャーじゃなくても)でGPUを使うシーンは3つあります。 1. AI研究:最新モデルや論文のちょっとしたお試し 小規模な学習。小規模な推論。 2. 学習:いわゆるディープラーニングのトレーニング。 長いと数週間、数か月におよぶ。 3. 商用運用:お客様が使用するサービスのバックエンドとしての AIエンジンの商用運用 今回 Jun さんが作ろうとしている GPU マシンは 1.AI研究 のためのものです。 というのも、たとえば、コンシューマー用GPUやコンシューマー用の自作パソコンの場合は長時間にわたるディープラーニングのトレーニングには向いていません。 やってる人もたまにみかけますが、心配になります。 なぜなら、学習させたいネットワークにもよりますが、1回の学習にかかる時間は数日から数週間、長いと数か月にわたります。その間、GPUをドライブするソフトウェアが安定
ChatStream Guide
こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、 ChatStream 搭載した Webサーバーの起動方法について説明いたします! uvicorn(内部起動) ChatStreamは FastAPI/Starlette に対応しているため、 ASGI サーバーで動作させることができます。 uvicorn をコード内で定義するには以下のように実装します def start_server(): uvicorn.run(app, host='localhost', port=9999) def main(): start_server() if __name__ == "__main__": main() ソースコード全体 import torch import uvicorn from fastapi import FastAPI,
AI数理
おはようございます!(株) Qualiteg 研究部です。本日は指数関数を学びましょう。 対数関数の微分公式の導出でお役立ちなので、今回の出番となりました。 指数関数とは 指数関数は、繰り返しの掛け算を表す数学の式です。例えば、「2を3回掛ける」を考えると、これは \(2 \times 2 \times 2\) となり、結果は \(8\) です。数学的には、これを \(2^3 = 8\) と表現します。ここで \(2^3\) の形が指数関数であり、「 \(2\) 」が底、「\(3\)」が指数です。 指数関数は多くの自然現象や科学技術で見られる現象を表すのに非常に重要です。例えば、銀行の複利計算や細菌の増殖など、時間とともに増加する速度が速くなるような現象です。 指数関数はまた、数学において他の多くの概念や公式の基礎ともなっています。特に、対数関数の微分公式の導出には指数関数が不可欠です。対数関数の微分は、対数関数のグラフの傾きを求める計算方法です。この微分公式を理解するためには、指数関数の性質が重要です。 指数関数の重要な性質の一つに、