Library

#Document #Pocket #NLP #ACL #parser
Issue Date: 2025-06-21 [Paper Note] Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting, Hao Feng+, ACL'25 Summary文書画像解析の新モデル「Dolphin」を提案。レイアウト要素をシーケンス化し、タスク特有のプロンプトと組み合わせて解析を行う。3000万以上のサンプルで訓練し、ページレベルと要素レベルの両方で最先端の性能を達成。効率的なアーキテクチャを実現。コードは公開中。 Commentrepo:https://github.com/bytedance/DolphinSoTAなDocumentのparser
image
#Pocket #NLP #LanguageModel #KnowledgeEditing
Issue Date: 2025-05-11 EasyEdit2: An Easy-to-use Steering Framework for Editing Large Language Models, Ziwen Xu+, arXiv'25 Summary本論文では、LLMの挙動を制御するためのフレームワーク「EasyEdit2」を提案。安全性や感情、個性などの介入をサポートし、使いやすさが特徴。ユーザーは技術的知識なしでモデルの応答を調整可能。新しいアーキテクチャにより、ステアリングベクトルを自動生成・適用するモジュールを搭載。実証的なパフォーマンスを報告し、ソースコードやデモも公開。 Commentgithub:https://github.com/zjunlp/EasyEdit/tree/main #Pocket #NLP #LanguageModel #ACL #KnowledgeEditing
Issue Date: 2025-05-11 EasyEdit: An Easy-to-use Knowledge Editing Framework for Large Language Models, Peng Wang+, ACL'24, (System Demonstrations) SummaryEasyEditは、LLMsのための使いやすい知識編集フレームワークであり、さまざまな知識編集アプローチをサポート。LlaMA-2の実験結果では、信頼性と一般化の面で従来のファインチューニングを上回ることを示した。GitHubでソースコードを公開し、Google Colabチュートリアルやオンラインシステムも提供。 Commentver2.0:
・1946

#RecommenderSystems #Tools #CIKM Issue Date: 2022-03-29 RecBole: Towards a Unified, Comprehensive and Efficient Framework for Recommendation Algorithms, Zhao+, CIKM'21 SummaryRecBoleは、推薦アルゴリズムのオープンソース実装を標準化するための統一的で効率的なライブラリであり、73のモデルを28のベンチマークデータセット上で実装。PyTorchに基づき、一般的なデータ構造や評価プロトコル、自動パラメータ調整機能を提供し、推薦システムの実装と評価を促進する。プロジェクトはhttps://recbole.io/で公開。 Comment参考リンク:
・https://www.google.co.jp/amp/s/techblog.zozo.com/entry/deep-learning-recommendation-improvement%3famp=1
・https://techlife.cookpad.com/entry/2021/11/04/090000
・https://qiita.com/fufufukakaka/items/77878c1e23338345d4fa
#Tools #AdaptiveLearning #EducationalDataMining #KnowledgeTracing Issue Date: 2022-07-27 pyBKT: An Accessible Python Library of Bayesian Knowledge Tracing Models, Bardrinath+, EDM'20 CommentpythonによるBKTの実装。scikit-learnベースドなinterfaceを持っているので使いやすそう。モチベーション

BKTの研究は古くから行われており、研究コミュニティで人気が高まっているにもかかわらず、アクセス可能で使いやすいモデルの実装と、さまざまな文献で提案されている多くの変種は、理解しにくいものとなっている。そこで、モダンなpythonベースドな実装としてpyBKTを実装し、研究コミュニティがBKT研究にアクセスしやすいようにした。ライブラリのインターフェースと基礎となるデータ表現は、過去の BKTの変種を再現するのに十分な表現力があり、新しいモデルの提案を可能にする。 また、既存モデルとstate-of-the-artの比較評価も容易にできるように設計されている。

BKTとは

BKTの説明は 461 あたりを参照のこと。

BKTはHidden Markov Model (HMM) であり、ある時刻tにおける観測変数(問題に対する正誤)と隠れ変数(学習者のknowledge stateを表す)によって構成される。パラメータは prior(生徒が事前にスキルを知っている確率), learn (transition probability; 生徒がスキルを学習することでスキルに習熟する確率), slip, guess (emission probability; スキルに習熟しているのに問題に正解する確率, スキルに習熟していないのに問題に正解する確率)の4種類のパラメータをEMアルゴリズムで学習する。

image

ここで、P(L_t)が時刻tで学習者がスキルtに習熟している確率を表す。BKTでは、P(L_t)を観測された正解/不正解のデータに基づいてP(L_t)をアップデートし、下記式で事後確率を計算する

image

また、時刻t+1の事前確率は下記式で計算される。

image

一般的なBKTモデルではforgettingは生じないようになっている。

image



Corbett and Andersonが提案している初期のBKTだけでなく、さまざまなBKTの変種も実装している。



サポートしているモデル

・KT-IDEM (Item Difficulty Effect): BKTとは異なり、個々のquestionごとにguess/slipパラメータを学習するモデル 469

・KT-PPS: 個々の生徒ごとにprior knowledgeのパラメータを持つ学習するモデル 470

・BKT+Forget: 通常のBKTでは一度masterしたスキルがunmasteredに遷移することはないが、それが生じるようなモデル。直近の試行がより重視されるようになる。 355

・Item Order Effect: TBD

・Item Learning Effect: TBD
#NeuralNetwork #NLP Issue Date: 2022-07-29 Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks, Reimers+, UKP-TUDA, EMNLP'19 CommentBERTでトークンをembeddingし、mean poolingすることで生成される文ベクトルを、Siamese Networkを使い距離学習(finetune)させたモデル。

image



文/文章のベクトルを事前学習済みのモデルを使って簡単に求められる。

モデルの一覧は下記:https://www.sbert.net/docs/pretrained_models.html
#Article #ReinforcementLearning #Blog #On-Policy Issue Date: 2025-08-26 Your Efficient RL Framework Secretly Brings You Off-Policy RL Training, Yao+, 2025.08 Comment元ポスト:https://x.com/fengyao1909/status/1960087630273761386?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q元々
・1969

のスレッド中にメモっていたが、アップデートがあったようなので新たにIssue化
#Article #NLP #LanguageModel #RLHF #RLVR Issue Date: 2025-08-13 RLVR_RLHF libraries, 2025.08 CommentRLVR,RLHFに関する現在のライブラリがまとまっているスレッド #Article #EfficiencyImprovement #LanguageModel #LLMServing Issue Date: 2025-08-03 LMCache, LMCache, 2025.07 Comment元ポスト:https://x.com/akshay_pachaar/status/1951626977213059406?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QKV Cacheを色々なところにキャッシュしておいて、prefixだけでなく全てのreused可能なものをキャッシュすることで、TTFTとスループットを大幅に向上するらしい。特にlong contextなタスクで力を発揮し、vLLMと組み合わせると下記のようなパフォーマンス向上結果
image
#Article #LanguageModel #LLMServing Issue Date: 2025-07-21 LMDeploy, OpenMMLab, 2023.07 #Article #NLP #ReinforcementLearning #LLMAgent #PostTraining Issue Date: 2025-07-04 rLLM, Agentica, 2025.06 Comment>rLLM is an open-source framework for post-training language agents via reinforcement learning. With rLLM, you can easily build their custom agents and environments, train them with reinforcement learning, and deploy them for real-world workloads.
なるほど。


バックボーンにはverlが採用されており、シンプルかつ統一的なインタフェースでカスタムエージェントが学習できる模様?

https://rllm-project.readthedocs.io/en/latest/key-features元ポスト:https://x.com/chenguangwang/status/1940585022010122692?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q関連:
・1969
#Article #EfficiencyImprovement #NLP #LanguageModel #Repository #PostTraining Issue Date: 2025-06-25 Nemo-RL, Nvidia, 2025.05 #Article #NLP #LanguageModel #ReinforcementLearning Issue Date: 2025-05-16 verl: Volcano Engine Reinforcement Learning for LLMs, ByteDance Seed Team, 2025.04 CommentSoTAなRLアルゴリズムを数行のコードで実装可能で、Sequence Parallelismがサポートされているので長い系列を扱える。FSDP, Megatron-LM,vLLM,SGLangなどとシームレスに統合できるっぽい?注意点(超重要):
https://x.com/fengyao1909/status/1953882575241723911?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q

inference backendとtrainingのbackendのミスマッチによってトークンの生起確率に差が生じ、ポリシーの更新がうまくいかなくなる。

image

・2228

でも言われているように、ライブラリにはバグがあるのが普通なのね、、、。

image
#Article #NLP #Supervised-FineTuning (SFT) #Blog #OpenWeight #MoE(Mixture-of-Experts) #PostTraining Issue Date: 2025-05-11 ms-swiftによるMegatron-LMベースのQwen3のファインチューニング, Aratako, 2025.05 Comment元ポスト:https://x.com/aratako_lm/status/1921401994532487174?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QMegatron-SWIFTというAlibaba製のライブラリを利用しQwen3の継続事前学習とSFTを実施する方法を、ベストプラクティスに則って記述し、かつ著者自身が学習したモデルも公開している。(おそらくインスタンス代は自腹なので)すごい...!!
Megatron-SWIFTはMoEアーキテクチャを採用したモデルであれば、DeepSpeed Zero3 [^1]と比べて10倍程度のスループットで学習できる模様(早い)。一方MoEアーキテクチャでないモデルの場合はそこまで大きな差はない。

[^1]: A100 80GB 2ノードでは、Qwen3-30B-A3Bは、DeepSpeed-Zero2ではOOMとなり載らないようだ…。なんとリソースに厳しいこと…(涙)
#Article #Analysis #NLP #LLMAgent #Blog Issue Date: 2025-05-06 Agent Frameworkはどれを使うべきか [タスク性能編], はち, 2025.05 Comment各フレームワーク毎の性能の違いや消費したトークン数、実装の微妙や違いがまとめられており、太字でtakeawayが記述されているので非常にわかりやすい。元ポスト:https://x.com/curveweb/status/1919301208096866660?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #Article #NLP #LLMAgent Issue Date: 2025-03-16 The TypeScript Agent Framework, mastra, 2025.03 Comment日本語解説:https://zenn.dev/yosh1/articles/mastra-ai-agent-framework-guide #Article #LanguageModel #LLMAgent Issue Date: 2025-03-06 smolagents, HuggingFace, 2025.03 Summarysmolagentsは、数行のコードで強力なエージェントを構築できるライブラリで、シンプルなロジック、コードエージェントのサポート、安全な実行環境、ハブ統合、モデルやモダリティに依存しない設計が特徴。テキスト、視覚、動画、音声入力をサポートし、さまざまなツールと統合可能。詳細はローンチブログ記事を参照。 #Article #MachineLearning #NLP #LanguageModel #ReinforcementLearning #python #Reasoning Issue Date: 2025-03-02 Open Reasoner Zero, Open-Reasoner-Zero, 2024.02 SummaryOpen-Reasoner-Zeroは、推論指向の強化学習のオープンソース実装で、スケーラビリティとアクセスのしやすさに重点を置いています。AGI研究の促進を目指し、ソースコードやトレーニングデータを公開しています。 Comment元ポスト:https://x.com/dair_ai/status/1893698293965725708?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #Article #NLP #LanguageModel #LLMAgent #RAG(RetrievalAugmentedGeneration) Issue Date: 2025-01-25 Llama Stack, Meta, 2024.11 CommentLlamaを用いたLLM Agentを構築するための標準化されたフレームワーク。Quick StartではRAG Agentを構築している。 #Article #NLP #LanguageModel #SyntheticData Issue Date: 2025-01-25 distilabel, 2023.11 Comment高品質な合成データをLLMで生成するためのフレームワーク #Article #NLP #LanguageModel #python #Repository #API Issue Date: 2025-01-03 LiteLLM, BerriAI, 2023.08 Comment様々なLLMのAPIを共通のインタフェースで呼び出せるライブラリ

・1553



とどちらがいいんだ・・・?aisuiteのissueの113番のスレッドを見ると、

・LiteLLMはもはやLiteではなくなっており、コードベースの保守性が低い

・aisuiteは複数のLLMプロバイダーをシンプルに利用する方法を提供する

・今後発表されるロードマップを見れば、LiteLLMとの差別化の方向性が分かるはずだ



といった趣旨のことが記述されていた。
#Article #Embeddings #Word #Repository Issue Date: 2024-12-28 floret, explosion, 2021 Commentfasttextを拡張したもの。本家fasttextがアーカイブ化してしまったので、代替手段に良さそう。元ポスト:https://x.com/fukkaa1225/status/1872222983772938551?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q #Article #EfficiencyImprovement #NLP #Transformer #pretrained-LM Issue Date: 2024-12-20 ModernBERT, AnswerDotAI, 2024.12 SummaryModernBERTは、エンコーダ専用のトランスフォーマーモデルで、従来のBERTに比べて大幅なパレート改善を実現。2兆トークンで訓練され、8192シーケンス長を持ち、分類タスクやリトリーバルで最先端の結果を示す。速度とメモリ効率も優れており、一般的なGPUでの推論に最適化されている。 Comment最近の進化しまくったTransformer関連のアーキテクチャをEncodnr-OnlyモデルであるBERTに取り込んだら性能上がるし、BERTの方がコスパが良いタスクはたくさんあるよ、系の話、かつその実装だと思われる。
テクニカルペーパー中に記載はないが、評価データと同じタスクでのDecoder-Onlyモデル(SFT有り無し両方)との性能を比較したらどの程度の性能なのだろうか?そもそも学習データが手元にあって、BERTをFinetuningするだけで十分な性能が出るのなら(BERTはGPU使うのでそもそもxgboostとかでも良いが)、わざわざLLM使う必要ないと思われる。BERTのFinetuningはそこまで時間はかからないし、inferenceも速い。

参考:
・1024日本語解説:https://zenn.dev/dev_commune/articles/3f5ab431abdea1?utm_source=substack&utm_medium=email
#Article #NLP #LanguageModel #python #Repository #API Issue Date: 2024-11-28 aisuite, andrewyng, 2024.11 Comment複数のLLM Providerの呼び出しを共通のインタフェースで呼び出せる。変更するのは、モデルを指定するパラメータのみ。

元ポスト:https://www.linkedin.com/posts/andrewyng_announcing-new-open-source-python-package-activity-7266851242604134400-Davp?utm_source=share&utm_medium=member_ios
#Article #ComputerVision #Repository #OCR Issue Date: 2024-11-27 YomiToku, Kotaro Kinoshita, 2024.11 CommentいわゆるAI-OCRで、縦書きの認識も可能で、表などの構造化された情報も認識可能とのこと。
手書きは認識できるのだろうか?
CC BY-NC-SA 4.0 元ツイート:https://x.com/kinocoai/status/1861386062175838303?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#Article #EfficiencyImprovement #NLP #LanguageModel #Repository #MinimalCode Issue Date: 2024-11-05 Lingua, Meta Comment研究目的のための、minimal、かつ高速なLLM training/inferenceのコードが格納されたリポジトリ。独自のモデルやデータ、ロスなどが簡単に実装できる模様。

image
#Article #python Issue Date: 2024-10-07 Streamlit, 2020.12 Commentデータを用いたアプリを簡単に作れるpythonライブラリ

データ/モデルを用いたvisualization等を実施するアプリを、数行で作れてしまう。綺麗なUIつき。便利。

image

#Article #Blog Issue Date: 2024-09-12 Pluggyとは, 2023.02 Commentpluggyに関する概要が説明されている。



公式の説明を読むとpytestで採用されており、pluggyは関数フックを可能にし、プラグインをインストールするだけでホストプログラムの動作を拡張、または変更できるようになる代物とのこと(=プラガブル?)。



pluggyがなぜ有用なのかの説明については、Pythonでは、他のプログラムやライブラリの動作を変更するための既存のメカニズムとして、メソッドのオーバーライドやモンキーパッチが存在するが、複数の関係者が同じプログラムの変更に参加したい場合、これらが問題を引き起こすので、pluggyはこれらのメカニズムに依存せず、より構造化されたアプローチを可能にし、状態や動作の不必要な露出を避けるとのこと。これにより、ホストとプラグインの間が疎結合になるので、問題が軽減されるとのこと。
#Article #NLP #LanguageModel #Repository #LLMServing Issue Date: 2024-08-31 NanoFlow, 2024.08 CommentvLLMよりも2倍程度高速なLLM serving framework。

オフライン評価
image

オンラインでのlatency評価
image

機能はvLLMの方が多いが、速度はこちらの方がかなり速そうではある。latencyのrequirementが厳しい場合などは検討しても良いかもしれない。

しかしLLM serving frameworkも群雄割拠ですね。元ポスト:https://x.com/rohanpaul_ai/status/1829647702998606104?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q1343 も参照のこと
#Article #MachineLearning #Repository #API Issue Date: 2024-08-25 LitServe, 2024.04 CommentFastAPIより2倍早いAPIライブラリ。LLMやVisionなど多くのモーダルに対応し、マルチワーカーでオートスケーリングやバッチングやストリーミングにも対応。PyTorchモデルだけでなく、JAXなど様々なフレームワークのモデルをデプロイ可能
元ツイート:https://x.com/_willfalcon/status/1826603483178340463?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q画像は元ツイートより引用

image
#Article #RecommenderSystems #Survey #Repository Issue Date: 2024-08-07 list of recommender systems Comment推薦システムに関するSaaS, OpenSource, Datasetなどがまとめられているリポジトリ #Article #EfficiencyImprovement #Blog #OpenWeight #LLMServing Issue Date: 2024-08-05 DeepSpeed, vLLM, CTranslate2 で rinna 3.6b の生成速度を比較する, 2024.06 Comment[vllm](https://github.com/vllm-project/vllm)を使うのが一番お手軽で、inference速度が速そう。PagedAttentionと呼ばれるキャッシュを利用して高速化しているっぽい。

(図はブログ中より引用)



image

こちらも参照のこと

vLLMの仕組みをざっくりと理解する:https://dalab.jp/archives/journal/vllm/PagedAttentionvLLMでReasoning ModelをServingするときは、`--enable-reasoning`等の追加オプションを指定する必要がある点に注意
https://docs.vllm.ai/en/stable/features/reasoning_outputs.html
#Article #NLP #OpenWeight Issue Date: 2024-08-01 OpenLLM: Self-Hosting LLMs Made Easy CommentOpenLLMをself hostingする際に、OpenAIなどと同じインタフェースのAPIやChatを提供するライブラリ #Article #LanguageModel #Repository Issue Date: 2024-04-29 mergekit-evolve Comment1257 のように進化的アルゴリズムでモデルマージができるライブラリ
解説記事:https://note.com/npaka/n/nad2ff954ab81大きなVRAMが無くとも、大きめのSRAMがあれば動作するらしい
#Article #EfficiencyImprovement #NLP #LanguageModel #Repository Issue Date: 2024-04-28 AirLLM, 2024.04 Comment4GBのSingle GPUで、70Bモデルのinferenceを実現できるライブラリ。トークンの生成速度は検証する必要がある。transformer decoderの各layerの演算は独立しているため、GPUに全てのlayerを載せず、必要な分だけ載せてinferenceするといった操作を繰り返す模様。

元ツイート: https://x.com/rohanpaul_ai/status/1784349737899982943?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#Article #ComputerVision #NLP #LanguageModel #Alignment #TextualInversion Issue Date: 2024-03-21 repeng CommentLLMの出力のスタイルを数百個の事例だけで学習しチューニングできるライブラリ。promptで指定するのとは異なり、数値でスタイルの強さを指定することが可能らしい(元ツイート)。画像生成分野におけるTextual Inversionと同じ技術とのこと。

Textual Inversionとは、少量のサンプルを用いて、テキストエンコーダ部分に新たな「単語」を追加し、単語と対応する画像を用いてパラメータを更新することで、prompt中で「単語」を利用した場合に学習した画像のスタイルやオブジェクト(オリジナルの学習データに存在しなくても可)を生成できるようにする技術、らしい。

Huggiegface: https://huggingface.co/docs/diffusers/training/text_inversion
(参考)GPTに質問した際のログ: https://chat.openai.com/share/e4558c44-ce09-417f-9c77-6f3855e583fa
元ツイート: https://x.com/webbigdata/status/1770272397184389211?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
#Article #RecommenderSystems #Repository Issue Date: 2024-01-15 Recommenders Comment古典的な手法から、Deepな手法まで非常に幅広く網羅された推薦アルゴリズムのフレームワーク。元々Microsoft配下だった模様。現在もメンテナンスが続いており、良さそう #Article #python Issue Date: 2023-11-19 lifestar Comment非常に高速なpythonのASGIライブラリ。WSGIとは異なり非同期処理なためリアルタイムアプリケーションに向いているっぽい。 #Article #NLP #LanguageModel #Supervised-FineTuning (SFT) #Repository Issue Date: 2023-11-14 LLaMA-Factory, 2023 Comment簡単に利用できるLLaMAのfinetuning frameworkとのこと。
元ツイート: https://x.com/_akhaliq/status/1724456693378040195?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-QLLaMAベースなモデルなら色々対応している模様
#Article #Transformer #Blog Issue Date: 2023-11-13 Transformers.js, 2023 Commentブラウザ上でTransformerベースの様々なモデルを動作させることができるライブラリ #Article #Tools #NLP #LanguageModel #Evaluation #RAG(RetrievalAugmentedGeneration) #Blog Issue Date: 2023-10-29 Evaluating RAG Pipelines CommentRAG pipeline (retrieval + generation)を評価するライブラリRagasについて紹介されている。

評価に活用される指標は下記で、背後にLLMを活用しているため、大半の指標はラベルデータ不要。ただし、context_recallを測定する場合はreference answerが必要。
Ragasスコアとしてどのメトリックを利用するかは選択することができ、選択したメトリックのharmonic meanでスコアが算出される。
image

各種メトリックの内部的な処理は下記:
・faithfullness
・questionと生成された回答に基づいて、statementのリストをLLMで生成する。statementは回答が主張している内容をLLMが解釈したものだと思われる。
・statementのリストとcontextが与えられたときに、statementがcontextにsupportされているかをLLMで評価する。
・num. of supported statements / num. of statements でスコアが算出される
・Answer Relevancy
・LLMで生成された回答から逆に質問を生成し、生成された質問と実際の質問の類似度を測ることで評価
・Context Relevancy
・どれだけcontextにノイズが含まれるかを測定する。
・LLMでcontextの各文ごとに回答に必要な文か否かを判断する
・回答に必要な文数 / 全文数 でスコアを算出
・Context Recall
・回答に必要な情報を全てretrieverが抽出できているか
・ground truthとなる回答からstatementをLLMで生成し、statementがcontextでどれだけカバーされているかで算出

また、LangSmithを利用して実験を管理する方法についても記述されている。
image
#Article #Tools #NLP #LanguageModel #RAG(RetrievalAugmentedGeneration) #Blog Issue Date: 2023-10-29 LangChainのRAGの改善法, LayerX機械学習勉強会 Comment以下リンクからの引用。LangChainから提供されているRetrieverのcontext抽出の性能改善のためのソリューション

> Multi representation indexing:検索に適した文書表現(例えば要約)の作成
Query transformation:人間の質問を変換して検索を改善する方法
Query construction:人間の質問を特定のクエリ構文や言語に変換する方法

https://blog.langchain.dev/query-transformations/
#Article #NLP #LanguageModel #LLMAgent Issue Date: 2023-09-30 Agents: An opensource framework for autonomous language agents Comment以下の特徴を持つLLMAgent開発のためのフレームワーク

・long-short term memory
・tool usage
・web navigation
・multi-agent communication
・human-agent interaction
・symbolic control

また、他のAgent frameworkと違い、ゴールを達成するだの細かいプランニングを策定(SOP; サブタスクとサブゴールを定義)することで、エージェントに対してきめ細かなワークフローを定義できる。
#Article #Tools #NLP #LanguageModel Issue Date: 2023-09-05 LangChain Cheet Sheet Commentimage

#Article #NLP #LanguageModel Issue Date: 2023-08-29 Metaの「Llama 2」をベースとした商用利用可能な日本語LLM「ELYZA-japanese-Llama-2-7b」を公開しました Comment商用利用可能、70億パラメータ。
ELYZA社が独自に作成した評価セットでは日本語のOpenLLMの中で最高性能。ただし、モデル選定の段階でこの評価データの情報を利用しているため、有利に働いている可能性があるとのこと。

一般的に利用される日本語の評価用データでは、なんとも言い難い。良いタスクもあれば悪いタスクもある。が、多分評価用データ自体もあまり整備は進んでいないと想像されるため、一旦触ってみるのが良いのだと思う。
#Article #NLP #LanguageModel Issue Date: 2023-08-28 zeno-build CommentMTでのテクニカルレポート
https://github.com/zeno-ml/zeno-build/tree/main/examples/analysis_gpt_mt/reportLLMの実験管理を容易に実施するツールで、異なるハイパーパラメータ、異なるモデル、異なるプロンプトでの実験などを簡単に実施できる。評価結果を自動的に可視化し、interactiveに表示するブラウザベースのアプリケーションも作成可能?
#Article #NLP #LanguageModel #ReinforcementLearning Issue Date: 2023-07-23 trl_trlx CommentTRL ・強化学習によるLLMの学習のためのライブラリ
https://note.com/npaka/n/nbb974324d6e1trlを使って日本語LLMをSFTからRLHFまで一通り学習させてみる
https://www.ai-shift.co.jp/techblog/3583
#Article #NLP #LanguageModel #Blog Issue Date: 2023-06-25 OpenLLaMA 13B, 2023 CommentimageそもそもOpenLLaMAには、オリジナルのLLaMAと比較して、tokenizerがスペースを無視するというissueがある模様。スペースの情報がクリティカルなタスク、たとえばcode generationなどには要注意。

https://github.com/openlm-research/open_llama/issues/40
#Article #EfficiencyImprovement #NLP #Transformer #python Issue Date: 2023-05-11 Assisted Generation: a new direction toward low-latency text generation, 2023 Comment1 line加えるとtransformerのgenerationが最大3倍程度高速化されるようになったらしいimage

assistant modelをロードしgenerateに引数として渡すだけ
image
#Article #NLP #LanguageModel #FoundationModel #Repository Issue Date: 2023-05-08 OpenSource PaLM, 2023 Comment150m,410m,1bのモデルがある。Googleの540bには遠く及ばないし、emergent abilityも期待できないパラメータ数だが、どの程度の性能なのだろうか。 #Article #NLP #LanguageModel #Blog Issue Date: 2023-05-06 MPT-7B, 2023 Comment新たなオープンソースLLM。
下記ツイートより引用:

・商用利用可能
・6万5000トークン使用可能
・7Bと比較的小さいモデルながら高性能
・日本語を扱え性能が高い

とのこと。

https://twitter.com/imai_eruel/status/1654629078878793729?s=46&t=nqpG5xvXzdg7yUPU4IfD3AChatGPTのLLMと比較すると、ざっと例を見た感じ質問応答としての能力はそこまで高くなさそうな印象。
finetuningしない限りはGPT3,GPT4で良さげ。
#Article #NLP #SpokenLanguageProcessing #SpokenLanguageGeneration Issue Date: 2023-05-04 Bark Commentテキストプロンプトで音声生成ができるモデル。MIT License #Article #NeuralNetwork #NLP #LanguageModel #Transformer Issue Date: 2023-05-04 OpenLLaMA CommentLLaMAと同様の手法を似たデータセットに適用し商用利用可能なLLaMAを構築した模様 #Article #Embeddings #InformationRetrieval #Search #Repository Issue Date: 2023-04-27 Awesome Vector Search Engine Commentベクトルの類似度を測るサービスやライブラリ等がまとまったリポジトリ #Article #InformationRetrieval Issue Date: 2023-04-26 Contrirver #Article #RecommenderSystems #Tutorial #Embeddings #EfficiencyImprovement Issue Date: 2023-04-25 Training a recommendation model with dynamic embeddings Commentdynamic embeddingを使った推薦システムの構築方法の解説(理解が間違っているかもしれないが)推薦システムは典型的にはユーザとアイテムをベクトル表現し、関連度を測ることで推薦をしている。この枠組みをめっちゃスケールさせるととんでもない数のEmbeddingを保持することになり、メモリ上にEmbeddingテーブルを保持して置けなくなる。特にこれはonline machine learning(たとえばユーザのセッションがアイテムのsequenceで表現されたとき、そのsequenceを表すEmbeddingを計算し保持しておき、アイテムとの関連度を測ることで推薦するアイテムを決める、みたいなことが必要)では顕著である(この辺の理解が浅い)。しかし、ほとんどのEmbeddingはrarely seenなので、厳密なEmbeddingを保持しておくことに実用上の意味はなく、それらを単一のベクトルでできるとメモリ節約になって嬉しい(こういった処理をしてもtopNの推薦結果は変わらないと思われるので)。
これがdynamic embeddingのモチベであり、どうやってそれをTFで実装するか解説している。
#Article #NeuralNetwork #EfficiencyImprovement #NLP #LanguageModel #PEFT(Adaptor/LoRA) Issue Date: 2023-04-25 LoRA論文解説, Hayato Tsukagoshi, 2023.04 Commentベースとなる事前学習モデルの一部の線形層の隣に、低ランク行列A,Bを導入し、A,Bのパラメータのみをfinetuningの対象とすることで、チューニングするパラメータ数を激減させた上で同等の予測性能を達成し、推論速度も変わらないようにするfinetuning手法の解説LoRAを使うと、でかすぎるモデルだと、そもそもGPUに載らない問題や、ファインチューニング後のモデルファイルでかすぎワロタ問題が回避できる。

前者は事前学習済みモデルのBPのための勾配を保存しておく必要がなくなるため学習時にメモリ節約になる。後者はA,Bのパラメータだけ保存すればいいので、ストレージの節約になる。

かつ、学習速度が25%程度早くなる。既存研究であるAdapter(transformerの中に学習可能なMLPを差し込む手法)は推論コストが増加し、prefix tuningは学習が非常に難しく、高い性能を達成するためにprefixとして128 token入れたりしなければならない。huggingfaceがすでにLoRAを実装している
https://github.com/huggingface/peft
#Article #Embeddings #NLP #RepresentationLearning #SpokenLanguageProcessing Issue Date: 2023-04-25 CLAP Commentテキストとオーディオの大量のペアを事前学習することで、テキストとオーディオ間を同じ空間に写像し、類似度を測れるようにしたモデルたとえばゼロショットでaudio分類ができる
image
#Article #Tools #InformationRetrieval #NLP #LLMAgent Issue Date: 2023-04-22 Llamaindex Comment・LlamaIndexのインデックスを更新し、更新前後で知識がアップデートされているか確認してみた

・https://dev.classmethod.jp/articles/llama-index-insert-index/
#Article #Tools #InformationRetrieval #NLP #LanguageModel #LLMAgent Issue Date: 2023-04-21 LangChain Comment・LangChain の Googleカスタム検索 連携を試す

・https://note.com/npaka/n/nd9a4a26a8932・LangChainのGetting StartedをGoogle Colaboratoryでやってみる ④Agents

・https://zenn.dev/kun432/scraps/8216511783e3da
#Article #Tools #NLP #LanguageModel Issue Date: 2023-03-11 20B params chatgpt alternative Comment元ツイート
Apache2.0で公開

https://twitter.com/_philschmid/status/1634492396171071488?s=46&t=VvPwEQsB--BeXx0YbYQdxQ
#Article #python #Blog Issue Date: 2023-01-23 Polars, 2023 Commentpandasより100倍高速で複雑なクエリも見やすく書けてindexも存在しないのでバグも出にくいという優れものらしい #Article #NLP #DataAugmentation #Repository Issue Date: 2023-01-21 nlpaug CommentData Augmentationのためのオープンソースライブラリ #Article #ComputerVision #MachineLearning #NLP #Explanation #Transformer #Blog Issue Date: 2022-12-01 Transformers Interpret, 2022 Commenttransformersのモデルをたった2行追加するだけで、explainableにするライブラリ

基本的にtextとvisionのclassificationをサポートしている模様
text classificationの場合、たとえばinput tokenの各トークンの分類に対する寄与度をoutputしてくれる。
#Article #NeuralNetwork #Tutorial #Transformer Issue Date: 2022-12-01 BetterTransformer, Out of the Box Performance for Hugging Face Transformers Commentたった1ライン追加するだけで、Transformerのinferenceが最大で4.5倍高速化されるBetterTransformerの解説記事

better_model = BetterTransformer.transform(model)
#Article #Tutorial #Tools Issue Date: 2022-08-03 pandas tips Comment◆遅くないpandasの書き方

https://naotaka1128.hatenadiary.jp/entry/2021/12/07/083000iterrows-%E3%81%AF%E7%B5%B6%E5%AF%BE%E3%81%AB%E4%BD%BF%E3%82%8F%E3%81%AA%E3%81%84-apply%E3%82%82



iterrows, applyを使うな、あたりは非常に参考になった。numpy配列に変換してループを回すか、np.vectorizeを使ってループを排除する。
#Article #RecommenderSystems #CollaborativeFiltering #FactorizationMachines #Repository Issue Date: 2021-07-03 pytorch-fm, 2020 Comment下記モデルが実装されているすごいリポジトリ。論文もリンクも記載されており、Factorization Machinesを勉強する際に非常に参考になると思う。MITライセンス。各手法はCriteoのCTRPredictionにおいて、AUC0.8くらい出ているらしい。



・Logistic Regression

・Factorization Machine

・Field-aware Factorization Machine

・Higher-Order Factorization Machines

・Factorization-Supported Neural Network

・Wide&Deep

・Attentional Factorization Machine

・Neural Factorization Machine

・Neural Collaborative Filtering

・Field-aware Neural Factorization Machine

・Product Neural Network

・Deep Cross Network

・DeepFM

・xDeepFM

・AutoInt (Automatic Feature Interaction Model)

・AFN(AdaptiveFactorizationNetwork Model)
#Article #Tutorial #Tools Issue Date: 2021-06-29 optuna_tips #Article #NeuralNetwork #Tools #python #Blog Issue Date: 2021-06-12 pytorch_lightning tips CommentPyTorch Lightning 2021 (for MLコンペ)
https://qiita.com/fam_taro/items/df8656a6c3b277f58781
#Article #Tutorial #Tools #NLP #python #Slide Issue Date: 2021-06-11 最先端自然言語処理ライブラリの最適な選択と有用な利用方法 _ pycon-jp-2020 Comment各形態素解析ライブラリの特徴や比較がされていて、自分の用途・目的に合わせてどの形態素解析器が良いか意思決定する際に有用image

#Article #Embeddings #MachineLearning #Tools #KnowledgeGraph #Repository Issue Date: 2021-06-10 OpenKE, 2021 CommentWikipedia, Freebase等のデータからKnowledge Embeddingを学習できるオープンソースのライブラリ #Article #NeuralNetwork #Tutorial #Tools #python Issue Date: 2021-06-06 TRTorch Commentpytorchの推論を高速化できるライブラリ。6倍ほど早くなった模様。TorchScriptを介して変換するので、PythonだけでなくC++でも動作できるらしい。 #Article #Tutorial #Tools #python Issue Date: 2021-06-05 pytorch tips Comment【PyTorchでたまに使うけどググって情報探すのに時間かかるやつ】

https://trap.jp/post/1122/



・scatter_add, einsum, Bilinear あたりが説明されている【NLLossの細かい挙動】

https://tatsukawa.hatenablog.com/entry/2020/04/06/054700【PyTorchで絶対nanを出したいマン】

https://qiita.com/syoamakase/items/40a716f93dc8afa8fd12



PyTorchでnanが出てしまう原因とその対策が色々書いてある【pipで様々なCuda versionのpytorchをinstallする方法】

https://stackoverflow.com/questions/65980206/cuda-10-2-not-recognised-on-pip-installed-pytorch-1-7-1
#Article #EfficiencyImprovement #python #Blog Issue Date: 2021-06-03 intel MKL Commentintel CPUでpythonの数値計算を高速化するライブラリ(numpyとかはやくなるらしい; Anacondaだとデフォルトで入ってるとかなんとか) #Article #NeuralNetwork #Tools #NLP #Dataset #LanguageModel #Blog Issue Date: 2020-03-13 BERT 日本語Pre-trained Model, NICT, 2020 CommentNICTが公開。既に公開されているBERTモデルとのベンチマークデータでの性能比較も行なっており、その他の公開済みBERTモデルをoutperformしている。 #Article #NeuralNetwork #Tools #NLP Issue Date: 2019-09-22 【黒橋研】BERT日本語Pretrainedモデル Comment【huggingface transformersで使える日本語モデルのまとめ】

https://tech.yellowback.net/posts/transformers-japanese-models
#Article #RecommenderSystems #Admin'sPick Issue Date: 2019-09-11 Implicit CommentImplicitデータに対するCollaborative Filtering手法がまとまっているライブラリ

Bayesian Personalized Ranking, Logistic Matrix Factorizationなどが実装。Implicitの使い方はこの記事がわかりやすい:

https://towardsdatascience.com/building-a-collaborative-filtering-recommender-system-with-clickstream-data-dffc86c8c65ALSの元論文の日本語解説

https://cympfh.cc/paper/WRMF
#Article #RecommenderSystems Issue Date: 2018-01-01 mrec Comment実装:python

※ Mendeleyによるpythonライブラリ参考:

http://www.kamishima.net/archive/recsysdoc.pdf

https://takuti.me/note/recommender-libraries/
#Article #RecommenderSystems #Tools Issue Date: 2018-01-01 LensKit Comment実装されているアルゴリズム:協調フィルタリング、Matrix Factorizationなど

実装:Java

使用方法:コマンドライン、Javaライブラリとして利用

※ 推薦システム界隈で有名な、GroupLens研究グループによるJava実装参考:

http://www.kamishima.net/archive/recsysdoc.pdf

https://takuti.me/note/recommender-libraries/
#Article #RecommenderSystems #Tools Issue Date: 2018-01-01 MyMediaLite Comment実装されているアルゴリズム:協調フィルタリング、Matrix Factorizationなど

実装:C

使用方法:コマンドライン、Cライブラリとして利用

※ ライブラリとして使用する場合は、Cによる実装が必要参考:

http://www.kamishima.net/archive/recsysdoc.pdf

https://takuti.me/note/recommender-libraries/
#Article #RecommenderSystems #CollaborativeFiltering #FactorizationMachines Issue Date: 2018-01-01 fastFM Comment実装されているアルゴリズム:Factorization Machines

実装:python

使用方法:pythonライブラリとして利用

※ Factorization Machinesに特化したpythonライブラリ参考:

http://www.kamishima.net/archive/recsysdoc.pdf

https://takuti.me/note/recommender-libraries/
#Article #RecommenderSystems #Tools #CollaborativeFiltering #FactorizationMachines Issue Date: 2018-01-01 LibRec Comment実装されているアルゴリズム:協調フィルタリング、Factorization Machines、

              Restricted Boltzman Machineなど、計70種類のアルゴリズムが実装

実装:Java

使用方法:コマンドライン、Javaライブラリとして利用

※ 実装されているアルゴリズムの豊富さが強み

※ 実装されているアルゴリズムのリスト(https://www.librec.net/dokuwiki/doku.php?id=AlgorithmList)参考:

http://www.kamishima.net/archive/recsysdoc.pdf

https://takuti.me/note/recommender-libraries/
#Article #RecommenderSystems Issue Date: 2018-01-01 Surprise, Nicolas Hug Comment実装されているアルゴリズム:協調フィルタリング、Matrix Factorizationなど

実装:python

使用方法:pythonライブラリとして利用

※ pythonで利用できる数少ない推薦システムライブラリ参考:

http://www.kamishima.net/archive/recsysdoc.pdf

https://takuti.me/note/recommender-libraries/