IT・AI最新動向まとめ【2023/11/23更新】

ニュースは毎月の「ニュースピックアップ」と【毎週更新】1週間のTechニュースのまとめに、あたらしい技術はこちらに整理することにします。

随時更新します。

【2023/11/23更新】生成AIの一覧を別ページに移動しました。 https://datascience-beginner.mofumofu.page/?p=573 今後、用語についても別ページ「用語まとめ」を作成してそちらに移動し、このページは最新ニュースを記載するページにしようと考えています。

更新履歴
  • 2023/11/23 生成AIの一覧を別ページに移動しました。 https://datascience-beginner.mofumofu.page/?p=573
  • 2023/11/16 OpenAI DevDayのAssistance APIとGPTsを混同していたので修正しました。これらはよく似ていますが別のものです。
  1. OpenAIのあたらしいサービス【2023/11/15更新】
    1. 2023/11/6 Dev Day
  2. 注目の技術【2023/11/16更新】
  3. 生成AIの技術
    1. LangChain(LLMを利用してアプリケーション開発を効率的に行うためのライブラリ)【2023/11/13更新】
    2. RAG(情報検索とテキスト生成を組み合わせてより正確なテキスト回答を生成する技術)【2023/11/15更新】
    3. LLMフレームワーク【2023/11/13更新】
    4. Flash Attention(自然言語処理タスクのための高効率なAttention機構)【2023/11/16更新】
    5. LoRA(LLMのファインチューニング方法の一つ)【2023/11/13更新】
    6. AWQ(LLMを量子化し、推論のランタイムおよびストレージ要件を削減する技術)【2023/11/13更新】
    7. プロンプトエンジニアリング(LLMに効果的な入力を設計するプロセス)【2023/11/13更新】
  4. データ基盤・インフラ
    1. Databricks【2023/11/13更新】
    2. Snowflake【2023/11/15更新】
    3. dbt (data build tool)【2023/11/16更新】
    4. Amazon Bedrock【2023/11/16更新】
    5. その他データ基盤・インフラ【2023/11/13更新】
  5. 機械学習・データ分析のあたらしい技術
    1. Mojo(Pythonの使いやすさとC言語の処理速度を兼ね備えた新言語)【2023/11/13更新】
    2. XAI(説明可能なAI)【2023/11/13更新】
    3. その他あたらしい技術【2023/11/15更新】
  6. スキルアップ
    1. 本の紹介【2023/11/13更新】
    2. スキルを学べるサイト【2023/11/13更新】
    3. 資格試験【2023/11/16更新】
    4. その他コラム【2023/11/16更新】

OpenAIのあたらしいサービス【2023/11/15更新】

2023/11/6 Dev Day

価格表

注目の技術【2023/11/16更新】

生成AIの技術

LangChain(LLMを利用してアプリケーション開発を効率的に行うためのライブラリ)【2023/11/13更新】

LangChainは、大規模な言語モデル(LLM)を利用するソフトウェア開発者向けのオープンソースフレームワークです。これは、AIとその機械学習のサブセットであるLLMを外部コンポーネントと組み合わせて、LLMを活用したアプリケーションを開発するために設計されています。https://www.langchain.com/

ドキュメントはこちらhttps://python.langchain.com/docs/get_started/introduction

LangChainの目的は、OpenAIのGPT-3.5やGPT-4などの強力なLLMを様々な外部データソースに接続し、自然言語処理(NLP)アプリケーションを作成し、その利点を享受することです。

参考文献

RAG(情報検索とテキスト生成を組み合わせてより正確なテキスト回答を生成する技術)【2023/11/15更新】

Retrieval-Augmented Generation (RAG)は、大規模言語モデル(LLM)が最も正確で最新の情報に基づいてユーザーに洞察を提供するために外部知識ベースから事実を取得するAIフレームワークです。RAGの主な目的は、LLMが生成した回答の質を外部の知識源に基づいて向上させることであり、LLMの内部情報表現を補完します。このアプローチにより、モデルは最新で信頼性の高い事実にアクセスし、ユーザーはモデルの情報源を知ることができ、その主張の正確性を検証し、信頼することができます。

RAGは、LLMがそのパラメータに組み込まれた情報を取り出す機会を減らすことで、LLMが機密データを漏洩したり、誤ったり誤解を招く情報を「幻覚」したりする可能性を減少させます。また、RAGを使用すると、ユーザーは新しいデータでモデルを継続的にトレーニングし、状況の進化に合わせてそのパラメータを更新する必要が減ります。この方法により、企業設定でLLMを動かす計算コストと財務コストを削減できます。

参考文献

LLMフレームワーク【2023/11/13更新】

Flash Attention(自然言語処理タスクのための高効率なAttention機構)【2023/11/16更新】

Flash Attentionは、Transformerモデルの効率を向上させるために開発されたアルゴリズムです。Transformerアーキテクチャの拡張は、自己注意機構の時間的およびメモリ的な複雑さが二次的であるために、大きなボトルネックに直面しています。特に、高速化とメモリ効率の向上は、自然言語処理のようなアプリケーションで広く使用されるTransformerモデルにとって重要です。https://arxiv.org/abs/2205.14135

Flash Attentionの主な特徴は、標準的な注意機構がHigh Bandwidth Memory(HBM)を使用してキー、クエリ、値を保存、読み取り、書き込むのに対して、Flash Attentionはこれらの操作を一度だけ行い、注意機構の操作を融合してから、書き戻す方法を採用しています。これにより、GPUのHBMとオンチップSRAM間のメモリの読み書き回数が最小限に抑えられ、IOの複雑さが標準的な注意機構と比較して効率的になります。

Flash Attentionは、注目計算を並べ替えて、古典的な技術(タイリング、再計算)を活用することで、注目の速度を大幅に向上させ、メモリ使用量をシーケンス長に比例して線形に削減します。これは、一般的なケースでは非常に効果的ですが、超長シーケンス(バッチサイズとヘッドの数が少ない場合)には最適化されていませんでした。Flash Attentionは、長いシーケンスでの大型Transformerモデルのトレーニングを高速化することで、AIの次の飛躍に貢献することを目指しています。

参考文献

LoRA(LLMのファインチューニング方法の一つ)【2023/11/13更新】

Low-Rank Adaptation (LoRA)は、大規模な事前学習言語モデル(LLM)を効率的に微調整するための技術です。この手法の主な課題は、特定のタスクやドメインに合わせて、巨大なモデル(例えば、数十億のパラメータを持つGPT-3のようなモデル)を微調整することの実用的でない点を克服することです。https://huggingface.co/docs/diffusers/main/en/training/lora

  1. 訓練可能なパラメータの削減: LoRAは、Transformerの各層に訓練可能なランク分解行列を導入し、事前学習されたモデルの重みは固定したままにします。これにより、特定のタスクにおける訓練可能なパラメータの数が大幅に減少します。
  2. 効率的な適応: LoRAは、モデル適応時の重み変化が「低ランク」であるという仮説に基づいています。これは、新しいタスクに対してモデルの一部のみを適応させる必要があることを意味し、より効率的なストレージと計算を実現します。
  3. 伝統的なfine-tuningとの違い: 伝統的なfine-tuningは、事前学習されたモデルのすべてのパラメータを更新し、新しいモデルを作成しますが、LoRAは以下の利点を提供します:
    • 事前学習されたモデルは多くのタスクに共有でき、各特定のタスクにはわずかな修正のみが必要です。
    • LoRAは訓練が効率的で、ハードウェア要件を削減します。
    • 訓練可能な行列は展開時に凍結した重みと統合されるため、追加の推論遅延は発生しません。
参考文献

AWQ(LLMを量子化し、推論のランタイムおよびストレージ要件を削減する技術)【2023/11/13更新】

Activation-aware Weight Quantization (AWQ)は、大規模言語モデル(LLM)などの深層ニューラルネットワークを効率的に実行するために開発された技術です。大規模言語モデルを量子化(圧縮)し、推論のランタイムおよびストレージ要件を削減する、シンプルかつ強力な方法です。

  1. 重みの量子化: 重み量子化は、ニューラルネットワークのパラメータ(重み)の精度を低減するプロセスです。通常のニューラルネットワークでは、重みは16ビット(たとえばfp16やbf16フォーマット)の比較的高い精度で浮動小数点数として表されます。このレベルの精度には、かなりのGPUメモリリソースが必要です。重み量子化は、これらの重みを8ビットや4ビットの整数など、少ないビット数で表現することを目指します。この精度の低下は、メモリ要件を大幅に削減し、より少ない数のGPU上でLLMを展開することを実現可能にします。
  2. 活性化を考慮した量子化: AWQは、量子化プロセス中にモデルの活性化を考慮することで、重み量子化の概念を次のレベルに進めます。従来の重み量子化では、重みは処理するデータとは独立して量子化されますが、AWQでは、推論中にモデルが生成する活性化の実際のデータ分布を考慮して量子化プロセスが行われます。
参考文献
  • AutoAWQ:量子化および推論をより簡単に行うためのパッケージとして作成され、AWQ (Activation-aware Weight Quantization) モデルを使用する際の利便性を向上させることを目的としている。

プロンプトエンジニアリング(LLMに効果的な入力を設計するプロセス)【2023/11/13更新】

プロンプトエンジニアリングは、モデルが望ましい出力を生成するための文脈や指示を明確にすることを目的としています。

Microsoftのガイダンス https://learn.microsoft.com/en-us/semantic-kernel/prompt-engineering/

GoogleのTips https://cloud.google.com/blog/products/application-development/five-best-practices-for-prompt-engineering?hl=en

  • CoT (Chain-of-Thought):題解決の一連の手順や中間的な推論ステップを通じて複雑な推論能力をAIに可能にするテクニック。
  • ToT (Tree of Thoughts):CoTと古典的なツリー探索を組み合わせることにより、LLMの回答の質を上げる技術。
  • AoT (Algorithm of Thoughts):CoTの派生系。大規模言語モデル(LLM)の推論能力を強化する技術で、アルゴリズム的推論パスを通じてLLMを推進し、複雑なタスクやクエリを効率的に処理しながら人間に似た推論を可能にする。
  • MP (Metacognitive Prompoting):大規模言語モデル(LLM)が自己評価を行い、初期の判断を再評価して反省する(メタ認知を行う)ことで、より深い理解と推論能力の向上を促進する枠組み。
  • LogiCoT(Logical Chain-of-Thought):既存のChain-of-Thought(CoT)フレームワークを発展させ、大規模言語モデル(LLM)が自らの論理的整合性をチェックし、推論能力を向上させるためのフレームワーク。
  • ReConcile:複数の大規模言語モデル(LLM)エージェント間で「円卓会議」のような協議を行い、多様な意見と合意を形成することで、LLMの推論能力を向上させるフレームワーク。
  • RE2 (Re-reading):大規模言語モデル(LLM)に質問文を2回読ませる手法で、これによりLLMの推論能力が向上することが報告されている。
  • IEP (Inferential Exclusion Prompting):AIモデルに対して特定の情報を除外するように指示することで、より正確で目的に合った回答を得る。
参考文献

データ基盤・インフラ

Databricks【2023/11/13更新】

大規模データセットの処理、リアルタイム分析、データウェアハウスとの統合、機械学習のためのコラボレーティブワークスペースがあり、データの取り込みから処理、分析、ビジュアライゼーション、機械学習モデルのトレーニングまで、データに関する全ての作業をこのプラットフォーム上で行うことができる。https://www.databricks.com/jp

参考文献

Snowflake【2023/11/15更新】

クラウドベースのデータウェアハウスサービス。このプラットフォームは、大量のデータを保存、処理、分析するために設計されており、データのスケーラビリティと柔軟性を提供する。AWS、Azure、Google Cloud Platformなど、主要なクラウドプロバイダー上で動作する。https://www.snowflake.com/ja/

参考文献

dbt (data build tool)【2023/11/16更新】

データウェアハウス内のデータを効果的に変換するためのオープンソースツールで、SQLでデータモデリングを行い、バージョン管理、ドキュメンテーション自動化、テストの統合などをサポートしている。https://www.getdbt.com/

参考文献

Amazon Bedrock【2023/11/16更新】

APIを通じて基盤モデル(Foundation Models、FM)を利用できる完全マネージド型サービスで、これには大規模言語モデル(LLM)も含まれる。Amazon Titan, Jurassic, Claude (Anthropic社のLLM), Llama 2 , Stable Diffusionが使える。https://aws.amazon.com/jp/bedrock/

参考文献

その他データ基盤・インフラ【2023/11/13更新】

  • Cloudflare:ウェブサイトの速度とセキュリティを向上させるクラウドプラットフォーム。CDNサービス、DDoS防御、安全なDNSを提供し、ウェブトラフィックを効率的かつ安全に管理する。
  • Terraform:HashiCorpが開発したオープンソースの「Infrastructure as Code」(IaC)ツール。クラウドリソースやインフラストラクチャをコードで定義し、その定義に基づいてリソースを作成、更新、管理することができる。

2023/10/14 24時間365日動き続けるデータシステムの設計手法 : 「データ指向アプリケーションデザイン」実践編

2023/10/12 「クラウド時代のデータ活用基盤!最新動向と応用を徹底解説」でModern Data Stack界隈で注目されている4つの分野について話しました

機械学習・データ分析のあたらしい技術

Mojo(Pythonの使いやすさとC言語の処理速度を兼ね備えた新言語)【2023/11/13更新】

MojoはPythonに似た新しいプログラミング言語で、Cの速度を持ち合わせています。主に人工知能(AI)アプリケーションやシステム開発に使用されることを目的としており、これらの分野では高性能なソフトウェアが求められます。MojoはPythonのスーパーセットであり、Pythonの特徴に加えて追加機能が含まれています。https://www.modular.com/mojo

Mojoは、Modular社によって開発されており、LLVMやSwift言語の創設者であるChris Lattnerがこの会社を設立しました。

参考文献

XAI(説明可能なAI)【2023/11/13更新】

  • PI (Parmutation Importance):特徴量の重要度を評価する手法。特徴量をシャッフルしてモデルのパフォーマンス変化を測り、各特徴量の寄与を定量的に把握する。
  • BATrees (Born Again Trees):既存の決定木モデルを改善する手法で、初期モデルの予測誤差を利用して新しい木を生成し、性能を向上させる。
  • PDP (Partial Dependence Plot):特定の特徴量が目的変数に与える影響を視覚化する手法で、特徴量の異なる値に対する平均的な予測値をプロットする。
  • ICE (Indivisual Conditional Explanation):PDPを拡張し、個々のデータポイントに対する特徴量の影響を視覚化し、個別のケースにおける特徴量の影響を理解するのに役立つ。
  • SHAP (Shapley Additive Explanations):機械学習モデルの予測に対する各特徴量の寄与を定量的に評価する手法。SHAP値はゲーム理論のShapley値に基づいており、特徴量の寄与が公平に割り当てられることを保証し、モデルの予測の解釈を容易にする。
  • LIME (Local Interpretable Model-agnostic Explanations):任意の機械学習モデルの予測を解釈可能にする手法で、特定の入力に対するモデルの挙動を近似的に説明する。

その他あたらしい技術【2023/11/15更新】

スキルアップ

本の紹介【2023/11/13更新】

2023/10/16 LangChainで生成AIアプリ開発に入門できる名著が出ました!

2023-10-25 “「世界一流エンジニアの思考法」は強いエンジニアの習慣がいい感じに言語化されていてよかった件 – Lean Baseball”

2023-10-29 LLMアプリ開発を体系的に学ぶには最適の入門書「ChatGPT/LangChainによるチャットシステム構築[実践]入門」

2023-10-31 “自己流で英語に伸び悩んでいる人は『最新の第二言語習得研究に基づく 究極の英語学習法』を読むべし”

2023-10-30 “エンジニアに読んで欲しい技術書90選 – Qiita” 25b4

スキルを学べるサイト【2023/11/13更新】

2023/10/2 AWS Skill Builder にてオンライン学習。

2023/10/3 プログラミング初心者がゲーム感覚で楽しく学べる無料サービス16選

2023/10/5 遊びながらAWSを学べる“AWSクエスト”日本語対応 クラウドで街を救うRPG プレイ無料

2023/10/11 Google Cloud、生成AIを無料で学べる「The Arcade」公開 ゲーム感覚でポイントを稼ぎ、賞品も獲得可能

2023-10-26 新卒向け「テストコード」の研修資料 Sansanが無料公開 Python上でのテスト方法を解説

2023-10-31 2023年版「データサイエンティストスキルチェックリスト」が無料公開 生成AIの利活用スキルなどを追加

2023-10-31 日本オラクルのAI・クラウド教材が無料に 期間限定、1月まで

資格試験【2023/11/16更新】

2023/10/5 隙間時間を活用してAWS Certified Solutions Architect – Professionalを一発で合格した 勉強法

2023/10/6 2週間の勉強でAWS Certified DevOps Engineer – Professionalに合格した方法

その他コラム【2023/11/16更新】

2023/10/12 日立の人:データ分析の世界大会で3位 生涯現役めざすデータサイエンティスト

2023/10/16 第358話|エライ人に、『このデータで何かいい感じの結果をだして!」と言われたらどうする?

2023-10-23 “フリーランスエンジニアの成長戦略とスキルアップの方法を紹介 – みんなのシステム企画”

2023-10-27 “業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work”

2023-10-31 「育休取った話」と「仕事と子育ての両立」の話

2023-10-31 【新連載】アウトプットこそ最高のインプット。鹿野壮が語る「自分が一番トクする」アウトプットの力

2023/10/11 【EMの業務解剖】事業タイプ別、評価制度を整える際に押さえるべきポイントを解説。最も重要なことは企業と社員の間の納得感。

コメント

タイトルとURLをコピーしました