Qualiteg 研究部

画像生成技術の進化 ~GANからディフフュージョンモデルまで~

IT & AIテクノロジー

画像生成技術の進化 ~GANからディフフュージョンモデルまで~

こんにちは!株式会社Qualiteg研究部です! 今日は画像生成技術について投稿いたします。 みなさまご存じの通り人工知能による画像生成技術は、過去10年間で急速な進化を遂げました。 今年は2024年。ちょうど2014年に「GAN」がでて10年です。 テキスト系生成AIの勢いがすごい昨今ですが、画像生成AI、超解像AIからの動画生成AIなどコンピュータビジョンかいわいも大きく進化を遂げていますね。 本記事では、主にGenerative Adversarial Networks (GAN)とディフフュージョンモデルに焦点を当て、画像生成技術の歴史的な発展を振り返ります。特に、これらの技術が画像生成と超解像の分野でどのように応用されてきたかを詳しく見ていこうとおもいます。 ブログ本編の前に! ダイジェスト動画あります! 本ブログのダイジェストを以下の動画で語っておりますので、よろしかったらこちらもご覧くださいませ! GANとディフュージョンモデル GANとは GAN(Generative Adversarial Network)は、2014年にIan Goodf

By Qualiteg 研究部
【LLMセキュリティ】ハルシネーションの検出方法

LLM セキュリティ

【LLMセキュリティ】ハルシネーションの検出方法

こんにちは、Qualiteg研究部です。 本日は、RAGにおけるハルシネーション検出に関する、こちらの論文について解説をしつつ、ハルシネーション検出をおこなうLLMについて考察をしてみたいと思います。 "Lynx: An Open Source Hallucination Evaluation Model" https://arxiv.org/pdf/2407.08488 概要 LYNXという、RAG(Retrieval Augmented Generation) システムにおいて参照なしで高品質なハルシネーション検出が可能なオープンソースのLLMの構築方法、仕組みに関する論文です。 RAGシーンにおいて、LLMが生成する回答が、質問やコンテキストに対して「忠実」であるかどうかを判定することで、ハルシネーションを検出することができます。 研究の成果である、ハルシネーション判定のために llama3ファインチューニングがほどこされたモデルは 以下に公開されています。 https://huggingface.co/PatronusAI/Llama-3-Patronus-Lynx

By Qualiteg 研究部
推論速度を向上させる Speculative Decoding(投機的デコーディング)とは

IT & AIテクノロジー

推論速度を向上させる Speculative Decoding(投機的デコーディング)とは

こんにちは Qualiteg 研究部です。 投機的デコーディングとは何か? 投機的デコーディングは、大規模言語モデル(LLM)の推論速度を向上させる技術です。 たいていのモデルを1.4~2.0倍程度、高速化できることが報告されています。 このアプローチでは、小さなモデル(ドラフトモデル)を使用して初期の予測を行い、その結果を大きなモデル(ターゲットモデル)が検証することで、全体の推論プロセスを高速化します。 ざっくりいうと、 大きなモデルは計算負荷も高く計算速度も遅いので、まず、小さなモデルで高速に計算したあとで、その計算結果をうまくつかって大きなモデルでの計算負荷をさげ、スピードを向上させようというアイデアです。 基本的に大きなモデルと、小さなモデルはサイズ以外は基本的にまったく同じネットワーク構造をしていることが前提となります。 たとえば 70Bの Llama3 と 8B の Llama3 を組み合わせてつかうイメージです。 当然70B の Llama3 の推論計算のほうが 8B よりも重たくなりますので、小さい8BのLlama3 で先回りして推論計算することで

By Qualiteg 研究部
[AI数理]徹底的に交差エントロピー(7)

AI数理

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

おはようございます!(株) Qualiteg 研究部です。 今回は、交差エントロピーの計算をベクトルや行列で表現する方法について説明します! 8章 交差エントロピーとベクトル演算 そもそも、なぜ、交差エントロピーをベクトルや行列で表現したいのでしょうか? それは、実際にニューラルネットワークをコンピュータープログラムとして実装するときに、訓練データや予測値はベクトル(1次元配列)や行列(2次元配列)といったN階テンソル(N次元配列)の形式で取り扱われるからです。 なぜベクトルや行列かといえば、ニューラルネットワークの実用的な計算をするときにはデータを1件とりだしては、1件計算する のではなく、多くのデータをベクトル(1次元配列)や行列(2次元配列)やそれ以上の多次元配列に詰めたのちに、まとめてドカっと計算するからです。 (まとめてドカっと計算するのが得意な GPU があるからこそ、これだけ Deep Learning が進展した、ともいえます) そこで、今までで導出してきた交差エントロピーの計算をコンピュータで実装するときに備えて、 1次元配列 にしてみます。

By Qualiteg 研究部
Google Gemini 1.5 API の機能、特徴、価格と使い方

IT & AIテクノロジー

Google Gemini 1.5 API の機能、特徴、価格と使い方

こんにちは!(株)Qualiteg テックブログです! 【2024年7月2日更新版】 本日は Google Gemini 1.5 Pro/ Gemini 1.5 Flash モデルの特徴、価格、Pythonをつかったテキスト生成について解説いたします。 Google Gemini とは Google Geminiは、Googleが提供する生成AIプラットフォームです。高品質なテキスト生成を行うためのAPIを提供し、さまざまなアプリケーションで自然な言語生成を利用できます。Geminiは多くの業界で使用されており、コンテンツ作成、カスタマーサポート、チャットボット、マーケティング、教育など、幅広い用途に対応しています。 APIキーの取得方法 Google Geminiを利用するためには、APIキーが必要です。以下の手順でAPIキーを取得できます。 Google AI Studio にアクセスして、手順にしたがい、Get API key でAPIキーを作成します。 https://aistudio.google.

By Qualiteg 研究部
[AI数理]徹底的に交差エントロピー(6)

AI数理

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

おはようございます!(株) Qualiteg 研究部です。 今回は、二値分類用の交差エントロピーについてみていきましょう! 7章 二値分類用 交差エントロピー 7-1. 二値分類用 交差エントロピー (データ1件対応版) さて、ここから、二値分類用の交差エントロピーを導きたいとおもいます。 二値分類は 入力されたデータが 2 つのうちどちらか、を予測するものです。 まず話をシンプルにするために、バッチ版ではなく、式 \((5.2)\) に示した 1件版の交差エントロピーの式を思い出します。 $$ E = - \sum_{k=1}^{K} t_{k} \log y_{k} \tag{5.2、再掲} $$ $$ \begin{aligned} &K:分類の数, t_{k}

By Qualiteg 研究部
[AI数理]徹底的に交差エントロピー(5)

AI数理

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

おはようございます!(株) Qualiteg 研究部です。 今回は、前回から拡張して データN件対応版の多値分類用 交差エントロピー を実際のデータをみながら導いていきたいとおもいます! 6章 多値分類用 交差エントロピー (データN件対応版) 実際の学習では、いちどに複数件の訓練データを入力して得られた複数の結果をまとめて評価するバッチ学習を行うため、複数の訓練データから得られた結果を同時に計算できるバージョンの交差エントロピーも考えておきます。 以下のような複数の訓練データの場合を考えます。 複数の訓練データなので、1件ずつの訓練データを見分けられるように番号をふった データ番号 列を導入しました。みやすくするため正解のデータに背景色をつけています。 この4件のデータを順番にモデルに入れたときの出力を計算すると以下のようになりました。予測値 列を右に追加しています。 さて、この4件の交差エントロピーを求めてみます。 これらのデータから1つずつ交差エントロピーを計算して、その値を合計すれば、4件ぶんの交差エントロピーの合計値を求めることができるので、特に

By Qualiteg 研究部
[AI数理]徹底的に交差エントロピー(4)

AI数理

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

おはようございます!(株) Qualiteg 研究部です。 今回は、多値分類用の交差エントロピーを計算していきたいと思います! 5章 多値分類用 交差エントロピーの計算 (データ1件対応版) まず 交差エントロピー関数(標本データ1件ぶんバージョン) を再掲します。 $$ \ - \log L=\sum_{k=1}^{K} t_{k} \log y_{k} \tag{4.3、再掲} $$ $$ t_{k} :頻度, y_{k}:確率 $$ 式 \((4.3)\) の 交差エントロピー は 1件の標本データ に \(K\) 個の事象(が起こったか、起こらなかったか)が含まれていました。

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

AI数理

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

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

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

AI数理

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

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

By Qualiteg 研究部
【LLMセキュリティ】Llama Guard :AI安全性の第一歩

LLM セキュリティ

【LLMセキュリティ】Llama Guard :AI安全性の第一歩

こんにちは、Qualiteg研究部です。 本日は昨年末(2023年12月)に発表された Llama Guard について解説いたします。 近年、AI技術の進化は目覚ましく、その応用範囲は広がっています。しかし、その一方で、AIシステムが生成するコンテンツの安全性に対する懸念も高まっています。そこで登場したのが、Meta社によって開発されたLlama GuardというAIモデル(LLMです)です。 このモデルは、AIが生成するコンテンツの安全性を評価し、不適切な内容を防ぐための重要なツールとなっています。 本記事では、Llama Guardの特徴やその効果について詳しく解説いたします。 Llama Guardの概要 Llama Guardは、大規模言語モデル(LLM)に対する 入力プロンプト および 出力レスポンス の両方にたいしてセーフガードを導入するツールであり、LLMシステムが生成するコンテンツを安全に保つための仕組みを提供しています。 具体的には、LLMシステムへの入力および出力情報が不適切でないかを判断するための「安全リスク分類法」により、「安全」か「安全でないか

By Qualiteg 研究部
[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 研究部
[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 研究部
【LLMセキュリティ】ゼロリソースブラックボックスでの幻覚(ハルシネーション)検出

LLM セキュリティ

【LLMセキュリティ】ゼロリソースブラックボックスでの幻覚(ハルシネーション)検出

こんにちは、Qualiteg研究部です。 今回は、データベースなど外部の情報を使用しない「ゼロリソース」状態での幻覚(ハルシネーション)検出の手法である以下論文について解説いたします。 SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models https://arxiv.org/abs/2303.08896 背景 LLMが出力する「幻覚」の問題 近年、生成型大規模言語モデル(LLMs)は、多様なユーザープロンプトに対して非常に流暢な応答を生成する能力を持っています。 しかし、これらのモデルは事実を幻覚させたり、非事実的な発言をすることが知られており、出力への信頼性を損なう可能性があります。 この問題に対処するための既存のファクトチェック手法は、出力確率分布へのアクセスが必要だったり、外部データベースを使用した複雑なモジュールを必要としたりします。 本論文では、SelfCheckGPTと呼ばれる新しいアプローチを提案しています。このア

By Qualiteg 研究部
[AI数理]対数関数の微分法・前編

AI数理

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

おはようございます!(株) Qualiteg 研究部です。 本日から2回にわたって対数関数について学んでいきましょう。 正確にいうと、対数関数の微分法を学びます。 対数関数って何だっけ? まず、対数関数というのは、「ある数 \( x \) が別の数 \( b \) を何回かけると \( x \) になるか」を調べる方法です。例えば、\( b \) が 2 で \( x \) が 8 の場合、2 を 3 回かけると 8 になります。この場合、数学的には「\( b \) の \( x \) に対する対数」と言います。 これを数式で表すと、次のようになります: $$ \log_b(x) = y $$ ここで \( b \) は底(

By Qualiteg 研究部
[AI数理] 指数関数

AI数理

[AI数理] 指数関数

おはようございます!(株) Qualiteg 研究部です。本日は指数関数を学びましょう。 対数関数の微分公式の導出でお役立ちなので、今回の出番となりました。 指数関数とは 指数関数は、繰り返しの掛け算を表す数学の式です。例えば、「2を3回掛ける」を考えると、これは \(2 \times 2 \times 2\) となり、結果は \(8\) です。数学的には、これを \(2^3 = 8\) と表現します。ここで \(2^3\) の形が指数関数であり、「 \(2\) 」が底、「\(3\)」が指数です。 指数関数は多くの自然現象や科学技術で見られる現象を表すのに非常に重要です。例えば、銀行の複利計算や細菌の増殖など、時間とともに増加する速度が速くなるような現象です。 指数関数はまた、数学において他の多くの概念や公式の基礎ともなっています。特に、対数関数の微分公式の導出には指数関数が不可欠です。対数関数の微分は、対数関数のグラフの傾きを求める計算方法です。この微分公式を理解するためには、指数関数の性質が重要です。 指数関数の重要な性質の一つに、

By Qualiteg 研究部