投稿

SB IntuitionsのSarashina2.2検証結果

イメージ
Sarashina2.2の検証結果 SB IntuitionsのSarashina2.2検証結果 YouTubeで公開した、 Sarashina2.2を試してみる! でインプットに使ったデータと、出力された結果についてまとめているものです。 良ければ、動画も見てください! 使用したプログラムコード 0.5b、1b、3bの検証については下記のコードを利用していました。 モデルパス部分だけ、それぞれのモデル名になるように変更しています。 from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer model_path = "sbintuitions/sarashina2.2-3b-instruct-v0.1" tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype="auto", device_map="auto") model.eval() streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True) chat = [ {"role": "system", "content": "好奇心旺盛なユーザーと人工知能アシスタントとのチャット。アシスタントはユーザーの質問に対して、役立つ詳細で丁寧な回答を提供します。"}, # {"role": "user", "content": "LLMとは何ですか?"}, # {...

sbintuitionsのSLM(Sarashina2.2)を試す

sbintuitionsのSLMを試す sbintuitionsのSLM(Sarashina2.2)を試す SB Intuitions (AIの研究開発などを手掛けるソフトバンクの子会社)が 小規模言語モデル(SLM) の「 Sarashina2.2 」を公開しました。 SLMとはLLMと似ていますが、SLMはパラメータ数が小さく特定タスクの処理を得意とする軽量型の言語モデルと言われています。 今回は、この Sarashina2.2 を試してみます。SLMなのでCPU環境でどれくらいど速度を出せるかなどを調べてみたいと思います。 検証環境 Sarashina2.2 の動作環境ですが、先日紹介した RakutenAI-2.0 と同じ環境で動作しました。 導入については、「 RakutenのLLMを試してみる 」を参考にしてください。なお、ざっくり記載すると下記が必要です。 Python3系(3.9以上推奨) pip ライブラリ 主に、transformers、pytorch、accelerate、protobuf、sentencepiece 0.5Bモデルの検証 まずは、今回公開されたモデルで一番最小の 0.5B を使ってみます。 利用するコードは下記になります。(サンプルコードではなく、RakutenAIのときのコードを流用しています。) from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer model_path = "sbintuitions/sarashina2.2-0.5b-instruct-v0.1" tokenizer = AutoTokeni...

RakutenLLMの検証結果

イメージ
RakutenLLMの検証結果 RakutenLLMの検証結果 YouTubeで公開した、 RakutenAI-2.0を試してみる! でインプットに使ったデータと、出力された結果についてまとめているものです。 良ければ、動画も見てください! インプットデータと結果 システムロール 好奇心旺盛なユーザーと人工知能アシスタントとのチャット。アシスタントはユーザーの質問に対して、役立つ詳細で丁寧な回答を提供します。 質問① 質問 LLとはなんですか? 結果 LLM(Large Language Model)とは、人工知能(AI)技術の一つで、自然言語処理(NLP)の分野におけるモデルの一種です。LLMは、大量のテキストデータを学習することで、人間の言語を理解し、生成する能力を持つように設計されています。 以下は、LLMの基本的な特徴と機能です: 1. **言語理解**:ユーザーの入力テキストを解析し、文脈を理解して、意味を把握します。 2. **言語生成**:理解した意味に基づいて、自然な言語(テキスト、音声など)を生成します。 3. **知識ベース**:事前に学習した膨大なテキストデータベースから情報を引き出し、回答を生成します。 4. **多言語対応**:多くのLLMは、複数の言語をサポートしています。 LLMは、チャットボット、翻訳ツール、コンテンツ生成ツール、カスタマーサポートツールなど、幅広い分野で活用されています。例えば、カスタマーサポートでは、ユーザーの質問に自動で回答したり、翻訳したり、文章の校正を支援したりすることができます。 質問② 質問 Hugging Faceと...

RakutenのLLMを試してみる

RakutenのLLMを試してみる RakutenのLLMを試してみる 先日、 Rakuten が LLMモデル 公開したニュースを見ました。 2種類公開されており、性能は高そうだったので、今回試してみたいと思います。 環境構築 LLMを試すために、まずは環境開発を行います。 今回使う環境は、 OracleLinux9 をHyper-V上に構築して実行してみたいと思います。 なお、Hyper-V上の仮想OSなのでGPUは接続されておらず、CPUのみの環境になります。恐らく大容量モデルの方はGPUが必須だと思うので、その場合はホストのWindowsで実行します。 pythonのバージョンを確認する OracleLinuxなので、デフォルトでPython3がインストールされているはずです。 下記コマンドを実行しバージョンを確認します。 python3 -V バージョンが3.9以上であれば、そのまま進めます。 pipをインストールする ライブラリインストールでpipを使うのでインストールします。 sudo dnf install python3-pip インストール後にバージョンの確認を行います。 pip3 -V python3系のpipがインストールできていれば大丈夫です。 必要ライブラリをインストールする Hugging FaceでRakutenのサイトを確認するとサンプルコードが記載されてい...

初心者向けPowerAppsの使い方

イメージ
初心者向けPowerApps 初心者向けPowerAppsの使い方 私は普段、 PowerPlatform を使ったサンプルアプリや各種機能の使い方を紹介しています。 ただ、いままではアプリで使う機能のみを紹介しており、初心者向けというよりはある程度触ったことのある人向けのものでした。 なので今回、 PowerApps について、 初心者向け の解説をする資料を作成したので、それを公開します! なお、2回分の資料を公開しますが、それぞれ YouTube でも解説やデモを紹介しているので、合わせて参考にしてみてください。 第一回 第一回は、PowerAppsでプロジェクトを作成する方法から、簡単な編集、アプリを公開、共有する方法を紹介しています。 第二回 第二回は、PowerAppsで使う機能を紹介しています。 データやPowerAutomateフローの接続、ギャラリー表示の方法や画面遷移を紹介しています。 さいごに 今回は PowerApps の初心者向け資料を公開しました! そのうち、 PowerAutomate なども初心者向けに資料作成していければと思います。 こんな機能も紹介してほしい!みたいなものがあれば、コメントなどいただけると嬉しいです。 ブログや動画で紹介していこうと思います! 今回はこの辺で、ではまた!

オンプレミス環境でベクトル検索をしてみる(OpenSearch)

イメージ
Document オンプレミス環境でベクトル検索をしてみる(OpenSearch) 昨今、生成AIやLLMが話題ですが、より回答精度を上げる方法として RAG という言葉をよく聞きます。 RAG(Retrieval-Augmented Generation) とは、ざっくりいうと、FAQなどのデータをデータベースに格納しておき、ユーザーからのインプットに対して最適な回答をデータベースから抽出し、その回答をもとにLLMに文章を生成させることで、より正確に回答を生成できるようにする方法になります。 RAG用のデータベースでは、 ベクトル検索 という手法が主に使われており、入力されたキーワードを全文検索するのではなく、類似度で検索をする形式が多いようです。 今回は、このベクトル検索について触れていきたいと思います。ただ、AzureやAWSなどのクラウドサービスを使えば容易に実現できる思いますが、少し勉強しながら構築したいのでオンプレミス環境に導入していこうと思います。 なお、私はデータベースにそこまで詳しくなく、見様見真似で進めているので、間違った解釈があるかもしれませんがご容赦ください。 ただベクトル検索に興味のある方の参考になれば幸いです。 データベースの準備 今回ベクトル検索可能なデータベースとして、 OpenSearch を使ってみたいと思います。 クラウド環境では、 Elasticsearch や OpenSearch の名前をよく見ます。調べてもこのあたりのデータベースが良さそうという理由で採用します。 ちなみに、この Elasticsearch はOSSであったものの、色々商用問題などがあったようですね。。。 さっそく、 OpenSearch を導入していきたいと思います。 環境は、Ubuntu22.04です。 Javaをインストールする ...

CPUで処理できるLLM、BitNetを試してみる

イメージ
CPUで処理できるLLM、BitNetを試してみる CPUで処理できるLLM、BitNetを試してみる 近年、 LLM や 生成AI が流行っており、これらを導入するソフトウェアなどが増えてきました。 さらに、当初は企業のサーバに接続するAPI通信が主体でしたが、ローカル環境でも動作するモデルが出てきており、環境が整っている人であれば個人PC内でも実行できるようになりました。 しかしLLMの推論にはCPUでは処理が遅くGPUが必須となっていました。ゲーミングPCなどを持っている人であればある程度のスペックのGPUを持っているかと思いますが、そうでない人がほとんどかと思います。 そんな中、Microsoftは CPUでも処理できるLLMモデル を公開し、さらにGithubにも公開されました。 このあたりの専門ではないので詳細は省きますが、本来32ビットの浮動小数点数で表現するものを、1ビットで表現することでモデル容量を減らし、処理を高速化するもののようです。 モデルサイズが小さくなるので、どうしても精度低下は発生しますが、CPUでも処理をさせることができるようです。 今回はそんな BitNet をローカル環境で実行して、精度などを確認していきたいと思います。 ただし、まだ日本語には対応していなそうなので、英語のみでの確認になります。 なお、OSが異なりますが、動画でも手順紹介をしているので合わせて参考にしてみてください。 導入手順 早速導入をしていきます。基本的にはGithubのReadmeに従って準備をしていきます。 なお、今回は CentOS Stream9 の環境で構築します。 Pythonをインストールする まずはプログラミング言語である、 Python をインストールします...