Blog (680) — 4/4
IT契約入門〜雇用契約、請負契約から準委任まで
Paper/Blog Link My Issue
#Article Issue Date: 2024-03-31
生産性指標をFour Keysから変更した話, SanSan Tech Blog
Paper/Blog Link My Issue
#Article #One-Line Notes Issue Date: 2024-03-21 Comment
モバイルアプリ開発における生産性指標に関するお話。Four Keysをモバイルアプリに適用した場合の課題を分析し、自チームの中長期的な目標を達成するためにどのような生産性指標を採用すべきかが言語化されており、興味深かった。
Four Keysとは:
https://blog.recruit.co.jp/rls/2021-03-31-four-keys/#whats-four-keys
Open Release of Grok-1 March 17, 2024
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #MoE(Mixture-of-Experts) #One-Line Notes Issue Date: 2024-03-18 Comment
Apache2.0ライセンス, 314Bパラメータでモデルの重み、Mixture-of-Expertsを採用している。学習データ、学習に利用したコードはおそらく公開されていない。
Grok-1.5がリリース
https://x.ai/blog/grok-1.5
各種ベンチマークの性能、特にMathの性能が向上し、コンテキスト長が128kに
RAG-Research-Insights
Paper/Blog Link My Issue
#Article #Tutorial #Survey #InformationRetrieval #NLP #LanguageModel #RAG(RetrievalAugmentedGeneration) #Reading Reflections Issue Date: 2024-03-05 Comment
RAGに関する研究が直近のものまでよくまとめられている
awesome-generative-information-retrieval
Paper/Blog Link My Issue
#Article #Tutorial #Survey #InformationRetrieval #LanguageModel Issue Date: 2024-02-22
LLMにおける情報抽出(文章から必要な事柄を読み取る)タスクについての調査, AIDB
Paper/Blog Link My Issue
#Article #NLP #InformationExtraction Issue Date: 2024-01-16
Decoding Strategies that You Need to Know for Response Generation
Paper/Blog Link My Issue
#Article #NaturalLanguageGeneration #NLP #LanguageModel #One-Line Notes Issue Date: 2024-01-01 Comment
言語モデルのdecodingの方法についてよくまとまっている。まとめられているdecoding方法は以下
- Greedy, BeamSearch, RandomSampling, Temperature, Top-K Sampling, Nucleus Sampling
こちらの記事ではHuggingFaceでの実装や他のdecoding方法等、より実装面での詳細が記述されている:
https://note.com/npaka/n/n9a8c85f2ef7a
Structured Hierarchical Retrieval, llama-index
Paper/Blog Link My Issue
#Article #InformationRetrieval #NLP #RAG(RetrievalAugmentedGeneration) Issue Date: 2023-12-21 Comment
元ツイート:
Build a search engine, not a vector DB
Paper/Blog Link My Issue
#Article #InformationRetrieval #RAG(RetrievalAugmentedGeneration) Issue Date: 2023-12-21
ELYZA-tasks-100 でLLM14個の日本語性能を横断評価してみた
Paper/Blog Link My Issue
#Article #LanguageModel Issue Date: 2023-12-20
Swallow: LLaMA-2 日本語継続事前学習モデル, Kazuki Fujii, 2023.12
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #FoundationModel #Japanese #mid-training #KeyPoint Notes Issue Date: 2023-12-19 Comment
Llama2の日本語性能を継続事前学習で引き上げたLLM。2023年12月時点の日本語オープンソースLLMの中で最高性能とのこと。
開発者の方による詳細はこちら:
https://zenn.dev/tokyotech_lm/articles/d6cb3a8fdfc907
すごい読み応え…checkpointの容量のデカさや、A100x8 60ノード使った話や、ノード不良やスケジュール管理の話、独自に実装をゴリゴリ加えたものではなく最終的に完成度の高さからMegatronLMを採用した話など、バグった規模感と試行錯誤や実体験に基づくエピソード満載。
【続】Flash Attentionを使ってLLMの推論を高速・軽量化できるか?, jobyan, Qiita, 2023.09
Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #LanguageModel #Attention #KeyPoint Notes Issue Date: 2023-12-14 Comment
use_cacheがTrue/Falseの場合のFlashAttention2のinference timeとVRAM使用量の傾向をsequence_lengthごとに考察している。
use_cacheはKey Value cacheのオンオフを切り替えられるオプションである。autoregressiveなモデルのinference時には、何度も同じinput tokenに対するKVの計算が生じるため(M番目のトークンを生成した後、M+1番目のトークンの生成をする場合、M-1番目までのトークンのKVを再計算せねばならない)、cacheをすることで大幅に計算速度が改善される。
use_cacheをTrueにできるならFlashAttention2の恩恵は小さい(inference timeが少し早くなるのみ)ため、潤沢なVRAMがあるなら得られる恩恵は小さい。
逆にVRAM節約してuse_cacheをFalseにせざるを得ないのであれば、FlashAttention2によりVRAM使用量をsequence_legthの線形に抑えることができ、かつinference timeも短くなる。
↑上記はあくまでinferenceをする場合のみの話であり(train時はautoregressive modelではcausal maskを用い、teacher forcingで並列にトークンを生成するためそもそもKV-cacheする意味がない)、trainingをする場合FlashAttention2で大幅にVRAM使用量を減らせるので、そこは分けて考えること。
https://qiita.com/jovyan/items/ff3d0a49163c7afa33ce
Flash Attentionを使ってLLMの推論を高速・軽量化できるか?
https://qiita.com/jovyan/items/11deb9d4601e4705a60d
こちらの記事も非常に勉強になる
大規模モデルを支える分散並列学習のしくみ Part1, Kazuki Fujii, 2023.06
Paper/Blog Link My Issue
#Article #Tutorial #MachineLearning #NLP #LanguageModel #DistributedLearning Issue Date: 2023-12-13
Introducing Gemini: our largest and most capable AI model, Google, 2023.12
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #MultiModal #Proprietary #VisionLanguageModel #KeyPoint Notes #Reference Collection Issue Date: 2023-12-07 Comment
多くのベンチマークでGPT4超えらしい
(追記1)
テクニカルレポートのp.44を見ると、ブログポスト中のGPT4のMMLUのスコアはGPT-4-0613のもののようなので、これが正しいとすると他のベンチマークのスコアも同モデルのものである可能性が高く、GPT-4-1163-preview(最新モデル)のスコアでは"ないかもしれない"点に注意。GPT4とどちらが実際に性能が良いか?については様子見した方が良さそう。
(追記2)
GSM8Kの結果も、GPT4に対してFair Comparisonではないかもしれない点に注意。Geminiは32個のCoTとSelf-Consistencyを利用しているが、GPT4では5-shotで単一のCoTのみであるため、prompting手法ではGeminiに有利な比較となっているように見える。ただしGPT4はGSM8Kの訓練データを事前学習時にMIXしている(SFT)ので、Geminiがこのようなことをしていないのであれば、この点ではGPT4が有利になっている“可能性”がある。
他にもFair Comparisonになっていないと推察されるものはTextモダリティでの評価の表の文言を見るとありそうなのでそこは念頭においた方が良さそうである。
テクニカルレポート: https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf
Gemini Summary
MMLUでの同じprompting手法でのGPT-4-0613との比較。32個のCoTでのSelf-Consistencyで比較した場合、GPT-4-0613に負けているが、閾値を設けてconfidenceが閾値以上の場合はSelf-consistency, そうでない場合はgreedyに生成した結果を選択する、というUncertain-Routed CoT@32では、Geminiのパフォーマンスgainが大きくGPT-4-0613よりも高い性能を示している。
ブログポスト中のGPT4のスコアは5-shotのもの(reportedと書かれているのでOpenAIが公表している数値と推察)であり、Geminiの結果はUncertain-Routed CoT@32の結果であるため、Fair Comparisonになっていないかもしれない?点には注意。
レポート中ではSelf-consistencyという単語でこの部分は書かれていないが、実は少しやっていること違ってたりする…?
もし明日、上司に「GPT-4を作れ」と言われたら? Stability AIのシニアリサーチサイエンティストが紹介する「LLM構築タイムアタック」
Paper/Blog Link My Issue
#Article #LanguageModel #One-Line Notes #Reading Reflections Issue Date: 2023-12-05 Comment
StabilityAI Japan秋葉さん(元PFN)のW&B Conferenceでの発表に関する記事。
LLM構築タイムアタックでLLMをもし構築することになったら!?
のざっくりとしたプロセスや、次ページでOpenAIのGPT4のテクニカルレポートのクレジットから各チームの規模感を推定して、どの部分にどの程度の人員が割かれていたのかというのをベースに、各パートでどんなことがやられていそうかという話がされている。
LLM構築タイムアタックで、まずGPUを用意します!(ここが一番大変かも)の時点で、あっ察し(白目 という感じがして面白かった。
kaggle LLM コンペ 上位解法を自分なりにまとめてみた話
Paper/Blog Link My Issue
#Article #InformationRetrieval #NLP #LanguageModel #RAG(RetrievalAugmentedGeneration) Issue Date: 2023-12-04 Comment
実践的な内容(チャンク生成時の工夫、クエリ生成時の工夫等)が網羅的にまとまっており非常に有用
個人的に、コンペ主催者側から提供されたデータが少なく、上位のほとんどのチームがChatGPT(3.5, 4)を用いて、QAデータを生成していた、というのが興味深かった。プロンプトはたとえば下記:
[(5th-place-solution)](
https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/446293)より引用
```
system_content = """
Forget all the previous instruction and rigorously follow the rule specified by the user.
You are a professional scientist's assistant.
"""
user_content_template_qa = Template(
"""
Please consider 5 choices question and answer of the following TEXT.
The purpose of this question is to check respondent's deep science understanding of the TEXT.
We assume this question is for professional scientists, so consider super difficult question.
You can ask very detailed question, for example check specific sentence's understanding.
It is good practice to randomly choose specific sentence from given TEXT, and make QA based on this specific sentence.
You must make QA based on the fact written in the TEXT.
You may create wrong answers based on the correct answer's information, by modifying some parts of the correct answer.
Your response must be in following format, don't write any other information.
You must not include "new line" in each Q), 1), 2), 3), 4), 5), and A):
Q) `question text comes here`
1) `answer candidate 1`
2) `answer candidate 2`
3) `answer candidate 3`
4) `answer candidate 4`
5) `answer candidate 5`
A) `answer`
where only 1 `answer candidate` is the correct answer and other 4 choices must be wrong answer.
Note1: I want to make the question very difficult, so please make wrong answer to be not trivial incorrect.
Note2: The answer candidates should be long sentences around 30 words, not the single word.
Note3: `answer` must be 1, 2, 3, 4 or 5. `answer` must not contain any other words.
Note4: Example of the question are "What is ...", "Which of the following statements ...", "What did `the person` do",
and "What was ...".
Note5: Question should be science, technology, engineering and mathematics related topic.
If the given TEXT is completely difference from science, then just output "skip" instead of QA.
Here is an example of your response, please consider this kind of difficulty when you create Q&A:
Q) Which of the following statements accurately describes the impact of Modified Newtonian Dynamics (MOND) on the observed "missing baryonic mass" discrepancy in galaxy clusters?"
1) MOND is a theory that reduces the observed missing baryonic mass in galaxy clusters by postulating the existence of a new form of matter called "fuzzy dark matter."
2) MOND is a theory that increases the discrepancy between the observed missing baryonic mass in galaxy clusters and the measured velocity dispersions from a factor of around 10 to a factor of about 20.
3) MOND is a theory that explains the missing baryonic mass in galaxy clusters that was previously considered dark matter by demonstrating that the mass is in the form of neutrinos and axions.
4) MOND is a theory that reduces the discrepancy between the observed missing baryonic mass in galaxy clusters and the measured velocity dispersions from a factor of around 10 to a factor of about 2.
5) MOND is a theory that eliminates the observed missing baryonic mass in galaxy clusters by imposing a new mathematical formulation of gravity that does not require the existence of dark matter.
A) 4
Let's start. Here is TEXT: $title\n$text
"""
)
```
PMConf2023: シリコンバレーのプロダクトマネージャー達に見る、 覚悟を決めたPMは何が違うのか?
Paper/Blog Link My Issue
#Article #Mindset Issue Date: 2023-12-04 Comment
視野、視座の話、StepChange、PMとして何に注力すべきか、クリティカルシンキング、Overcommunicationなどの考え方が参考になった。
結局どれだけ収益に繋がるのかという話。ユーザに価値を届けられて満足、で終わってはいけない。
Deconstructing RAG
Paper/Blog Link My Issue
#Article #Tutorial #RAG(RetrievalAugmentedGeneration) Issue Date: 2023-11-22 Comment
RAGにおける様々な戦略がまとまっている(リンク付き
AWS FargateではなくECS on EC2を選ぶメリット〜コスト編〜, UZABASE for Engineers, 2022.12
Paper/Blog Link My Issue
#Article #AWS #Infrastructure #ECS Issue Date: 2023-11-21 Comment
安く済ませたい・・・
Zephyr-7B-beta, RAG Perf.
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #Evaluation #RAG(RetrievalAugmentedGeneration) #OpenWeight #One-Line Notes Issue Date: 2023-11-21 Comment
Zephyr-7B-betaのRAGでの性能がデータセットで評価されている
下記Xポストによるとgpt-3.5-turboと同等
Practical Tips for Finetuning LLMs Using LoRA (Low-Rank Adaptation), SEBASTIAN RASCHKA, PHD, 2023.11
Paper/Blog Link My Issue
#Article #Tutorial #NLP #LanguageModel #Supervised-FineTuning (SFT) #PEFT(Adaptor/LoRA) #PostTraining Issue Date: 2023-11-20
ChatGPTに社内文書に基づいた回答を生成させる仕組みを構築しました, コネヒト TECH BLOG, 2023.11
Paper/Blog Link My Issue
#Article #NLP #Infrastructure #ML-LLM Ops #RAG(RetrievalAugmentedGeneration) #KeyPoint Notes #Reading Reflections Issue Date: 2023-11-15 Comment
低コストで社内文書に対するRAGを実現することに注力している。
以下、図はブログから引用。
基本的にはバッチジョブで社内文書をベクトル化しS3へ格納。アプリ起動時にS3から最新データを読み込み検索可能にしRAGするという流れ。
低コスト化のために、Embedding作成にOpenWeightの言語モデル(text-edbedding-ada002と同等の性能)を利用している。実装は基本的にllamaindexを利用している。
特に日本語テキストにおいてはtext-embedding-ada002は OpenAI の Embeddings API はイケてるのか、定量的に調べてみる, akeyhero (Akihiro Katsura), Qiita, 2023.04 において、JSTSタスクにおいてあまり性能が高くない(ただし、OpenAI の Embeddings API はイケてるのか、定量的に調べてみる, akeyhero (Akihiro Katsura), Qiita, 2023.04 での報告値は基本的にJSTSデータでfinetuningされてた結果と思われる)と言われているので、お金かけて無理して使う必要はないのかなという印象はある。
Transformers.js, 2023
Paper/Blog Link My Issue
#Article #Library #Transformer #Frontend #One-Line Notes Issue Date: 2023-11-13 Comment
ブラウザ上でTransformerベースの様々なモデルを動作させることができるライブラリ
Boosting RAG: Picking the Best Embedding & Reranker models
Paper/Blog Link My Issue
#Article #RAG(RetrievalAugmentedGeneration) Issue Date: 2023-11-13
生成AIが抱えるリスクと対策, 髙橋翼, LYCorp‘23, 2023.11
Paper/Blog Link My Issue
#Article #Tutorial #NLP #LanguageModel #Alignment #GenerativeAI #Hallucination #Safety #Reading Reflections Issue Date: 2023-11-03 Comment
この資料をスタートにReferしている論文などを勉強すると、GenerativeAIのリスク周りに詳しくなれそう。この辺は疎いので勉強になる。
しかし、LLMのAlignmentが不十分だったり、Hallucinationを100%防ぐことは原理的に不可能だと思われるので、この辺とどう付き合っていくかがLLMと付き合っていく上で難しいところ。この辺は自分たちが活用したいユースケースに応じて柔軟に対応しなければならず、この辺の細かいカスタマイズをする地道な作業はずっと残り続けるのではないかなあ
Zero-shot Learning網羅的サーベイ: CLIPが切り開いたVision & Languageの新しい世界, エクサウィザーズ Engineer Blog, 2023.05
Paper/Blog Link My Issue
#Article #Survey #ComputerVision #NaturalLanguageGeneration #NLP #LanguageModel #ImageCaptioning #DiffusionModel #Initial Impression Notes Issue Date: 2023-11-02 Comment
これはすごいまとめ…。まだ途中までしか読めていない。CLIPからスタートしてCLIPを引用している論文から重要なものを概要付きでまとめている。
NTT版大規模言語モデル「tsuzumi 2」, NTT人間情報研究所
Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #LanguageModel #MultiModal #FoundationModel #KeyPoint Notes Issue Date: 2023-11-01 Comment
**(追記 2026.03: 以下の記述内容は上記ページがリリースされた当初のものであり、現在は上記ページの内容は更新されているようですので、ご注意ください。 )**
NTT製のLLM。パラメータ数は7Bと軽量だが高性能。
MTBenchのようなGPT4に勝敗を判定させるベンチマークで、地理、歴史、政治、社会に関する質問応答タスク(図6)でgpt3.5turboと同等、国産LLMの中でトップの性能。GPT3.5turboには、コーディングや数学などの能力では劣るとのこと。
> *6 Rakudaベンチマーク
日本語の言語モデルの性能を評価するベンチマークの一つで、日本の地理・政治・歴史・社会に関する質問応答タスクによって評価を行う。
URL:
https://yuzuai.jp/benchmark
>*7 Japanese Vicuna QAベンチマーク
Rakudaよりもさらに幅広いカテゴリで言語モデルのQAや指示遂行の能力を問う評価方法。一般知識、ロールプレイなど多数の質問から構成される。
URL:
https://github.com/hitoshizuku7/LLM_Judge_ku/blob/main/README.md
tsuzumiはアダプタを追加することで、モデル全体のパラメータを更新することなく、さまざまな知識を持たせたり、振る舞いを変えたりできるようになるとのこと(LoRAアダプタのようなものだと思われる)。
まて、将来的に視覚や聴覚などのマルチモーダル対応も実施。
思想がLoRA Hub [Paper Note] LoraHub: Efficient Cross-Task Generalization via Dynamic LoRA Composition, Chengsong Huang+, arXiv'23, 2023.07 に近く、アダプタを着脱すれば柔軟に生成を変えられるのは有用だと思う。
大規模言語モデルのFine-tuningによるドメイン知識獲得の検討, PFN Blog, 2023.10
Paper/Blog Link My Issue
#Article #EfficiencyImprovement #NLP #LanguageModel #Supervised-FineTuning (SFT) #PEFT(Adaptor/LoRA) #Catastrophic Forgetting Issue Date: 2023-10-29
大規模言語モデルにおいて、「知識は全結合層に蓄積される」という仮説についての文献調査, Kan Hatakeyama, 2023.10
Paper/Blog Link My Issue
#Article #Analysis #MachineLearning #Transformer #FactualKnowledge #One-Line Notes Issue Date: 2023-10-29 Comment
タイトルの通り、知識がFFNに蓄積されていると主張しているらしい原論文を読み解いている。まとめを引用すると
> 「知識は全結合層に蓄積される」という表現は、ややラジカルで、
少なくともこの論文では「全結合層は知識獲得において重要」という程度
の、もう少しマイルドな主張をしているように見受けられました。
とのこと。
StableDiffusion, LLMのGPUメモリ削減のあれこれ, nishiba, Qiita, 2023.10
Paper/Blog Link My Issue
#Article #NeuralNetwork #ComputerVision #EfficiencyImprovement #NLP #LanguageModel #DiffusionModel #Reading Reflections Issue Date: 2023-10-29 Comment
Gradient Accumulation, Gradient Checkpointingの説明が丁寧でわかりやすかった。
LLMのプロンプト技術まとめ, fuyu_quant (Toma Tanaka), Qiita, 2023.10
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #Prompting #Reading Reflections Issue Date: 2023-10-29 Comment
ざっと見たが現時点で主要なものはほぼ含まれているのでは、という印象
実際のプロンプト例が載っているので、理解しやすいかもしれない。
Evaluating RAG Pipelines, LangChain Blog, 2023.10
Paper/Blog Link My Issue
#Article #Tools #NLP #LanguageModel #Library #Evaluation #RAG(RetrievalAugmentedGeneration) #KeyPoint Notes Issue Date: 2023-10-29 Comment
RAG pipeline (retrieval + generation)を評価するライブラリRagasについて紹介されている。
評価に活用される指標は下記で、背後にLLMを活用しているため、大半の指標はラベルデータ不要。ただし、context_recallを測定する場合はreference answerが必要。
Ragasスコアとしてどのメトリックを利用するかは選択することができ、選択したメトリックのharmonic meanでスコアが算出される。
各種メトリックの内部的な処理は下記:
- 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を利用して実験を管理する方法についても記述されている。
LangChainのRAGの改善法, LayerX機械学習勉強会
Paper/Blog Link My Issue
#Article #Tools #NLP #LanguageModel #Library #RAG(RetrievalAugmentedGeneration) #One-Line Notes Issue Date: 2023-10-29 Comment
以下リンクからの引用。LangChainから提供されているRetrieverのcontext抽出の性能改善のためのソリューション
> Multi representation indexing:検索に適した文書表現(例えば要約)の作成
Query transformation:人間の質問を変換して検索を改善する方法
Query construction:人間の質問を特定のクエリ構文や言語に変換する方法
https://blog.langchain.dev/query-transformations/
日本語LLMのリーダーボード(LLM.jp), Weights & Biases
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #Evaluation #KeyPoint Notes #Reading Reflections Issue Date: 2023-10-27 Comment
LLM.jpによる日本語LLMのリーダーボード。4-shotsでの結果、かつinstructionを与えた場合の生成テキストに対する評価、という点には留意したい。たとえばゼロショットで活用したい、という場合にこのリーダーボードの結果がそのまま再現される保証はないと推察される。
日本語LLMベンチマークと自動プロンプトエンジニアリング, PFN Blog, 2023.10
の知見でもあった通り、promptingの仕方によってもLLM間で順位が逆転する現象なども起こりうる。あくまでリーダーボードの値は参考値として留め、どのLLMを採用するかは、自分が利用するタスクやデータで検証した方がbetterだと思われる。
あとはそもそも本当にLLMを使う必要があるのか? [Paper Note] Prompt2Model: Generating Deployable Models from Natural Language Instructions, Vijay Viswanathan+, arXiv'23, 2023.08
のような手法ではダメなのか?みたいなところも考えられると良いのかもしれない。
以下サイトより引用
> 評価手法・ツール
このダッシュボードの内容はllm-jpで公開している評価ツール、llm-jp-evalで各モデルに対して評価を行なった結果である。llm-jp-evalは、既存のリーダボードとは行われている評価とは、主に以下のところで違っている。
AlpacaやBig-Benchなどを参考にした、インストラクションチューニングよりのプロンプトを入力として与えて、その入力に対するモデルの生成結果を評価する
>評価は基本、モデルが生成した文字列だけを使って行う
>Few shotでの評価を行っており、このダッシュボードには4-shotsでの結果を載せている
>評価手法・ツールの詳細はllm-jp-evalを是非参照されたい。
>評価項目・データセット
評価項目として、まず4つのカテゴリーにおける平均スコアを算出した。さらにその4カテゴリーの平均値の平均値をとった値がAVGである。
MC (Multi-Choice QA):jcommonsenseqa
NLI (Natural Language Inference):jamp、janli、jnli、jsem、jsick
QA (Question Answering):jemhopqa、niilc
RC (Reading Comprehension):jsquad
>それぞれのカテゴリの平均を出す方法に言語学的な意味はないため、最終的な平均値はあくまで参考値ということに注意されたい。
JGlueを利用した日本語LLMのリーダーボードとして Nejumi LLMリーダーボード, Weights & Biases などもある
日本語大規模言語モデル「Japanese Stable LM 3B-4E1T」「Japanese Stable LM Gamma 7B」を公開しました, 2023
Paper/Blog Link My Issue
#Article #NLP #LanguageModel Issue Date: 2023-10-25
CTO handbook
Paper/Blog Link My Issue
#Article #Mindset #Repository Issue Date: 2023-10-24
日本語LLMベンチマークと自動プロンプトエンジニアリング, PFN Blog, 2023.10
Paper/Blog Link My Issue
#Article #Analysis #NLP #Prompting #AutomaticPromptEngineering #One-Line Notes Issue Date: 2023-10-13 Comment
面白かった。特に、promptingによってrinnaとcyberのLLMの順位が逆転しているのが興味深かった。GAを使ったプロンプトチューニングは最近論文も出ていたが、日本語LLMで試されているのは面白かった。
CTOの頭の中:技術を財務で表現する
Paper/Blog Link My Issue
#Article #Mindset Issue Date: 2023-09-30
Lessons Learnt From Consolidating ML Models in a Large Scale Recommendation System, Netflix Technology Blog, 2023.08
Paper/Blog Link My Issue
#Article #RecommenderSystems #ML-LLM Ops #KeyPoint Notes Issue Date: 2023-09-05 Comment
推薦システムには様々なusecaseが存在しており、それらは別々に運用されることが多い。
- user-item recommendation
- item-item recommendation
- query-item recommendation
- category-item recommendation
このような運用はシステムの技術負債を増大させ、長期的に見るとメンテナンスコストが膨大なものとなってしまう。また、多くの推薦システムには共通化できる部分がある。
これら異なるusecaseの推薦システムをmulti-taskなモデルに統合し技術負債を軽減した経験が記述されている。
これが
このようなsingle multi-task modelを学習する構造に置き換わり、
その結果
- code量とデプロイの管理・メンテナンスコストの低減
- 保守性の向上
- 単一化されたコードベースが、緊急時の対応を容易にした
- あるユースケースで新たなfeatureを試し効果があった場合、他のユースケースに迅速に展開可能(同じパイプラインなので)
- ただし、multi taskの場合は特定のタスクに効果があったfeatureの導入により他タスクの性能が低下する懸念がある
- が、タスク間の関連性が高い場合(今回のような場合)、それは問題とならなかったことが記述されている
- 柔軟な設計の実現
- 複数のユースケースを一つのモデルに統合することは、複数のユースケースを組み込むための柔軟な設計が求められる
- これを実現したことにより、拡張性が増大した
- 結論
- このような統合がコードを簡略化し、イノベーションを加速させ、システムの保守性を向上させるシナリオが多くある
- ただし、ランキングの対象が異なっていたり、入力として活用する特徴量が大きく異なるモデル間で、このような統合の実施に適しているかは自明ではない
LLMのファインチューニング で 何ができて 何ができないのか, npaka, 2023.08
Paper/Blog Link My Issue
#Article #Tutorial #NLP #LanguageModel #Supervised-FineTuning (SFT) #mid-training #PostTraining #needs-revision Issue Date: 2023-08-29 Comment
>LLMのファインチューニングは、「形式」の学習は効果的ですが、「事実」の学習は不得意です。
> シェイクスピアの脚本のデータセット (tiny-shakespeare) の
「ロミオ」を「ボブ」に置き換えてファインチューニングして、新モデルの頭の中では「ロミオ」と「ボブ」をどう記憶しているかを確認します。
ファインチューニングしても、Bで始まるジュリエットが恋する人物について質問しても、ボブと答えてはくれない。
> ロミオ」は「ジュリエット」が恋していたこの男性に関連付けられており、「ロミオ」を「ボブ」に置き換えるファインチューニングでは、ニューラルネットワークの知識ベースを変更することはできませんでした。
なるほど。
参考: https://www.anyscale.com/blog/fine-tuning-is-for-form-not-facts?ref=blog.langchain.dev
関連:
Metaの「Llama 2」をベースとした商用利用可能な日本語LLM「ELYZA-japanese-Llama-2-7b」を公開しました, 株式会社ELYZA 公式ブログ, 2023.08
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #Library #OpenWeight #Japanese #KeyPoint Notes Issue Date: 2023-08-29 Comment
商用利用可能、70億パラメータ。
ELYZA社が独自に作成した評価セットでは日本語のOpenLLMの中で最高性能。ただし、モデル選定の段階でこの評価データの情報を利用しているため、有利に働いている可能性があるとのこと。
一般的に利用される日本語の評価用データでは、なんとも言い難い。良いタスクもあれば悪いタスクもある。が、多分評価用データ自体もあまり整備は進んでいないと想像されるため、一旦触ってみるのが良いのだと思う。
走行動画を説明するLLMを作成し、80台のGPUで分散並列学習させた話, Kotaro Tanahashi, Tech Blog - Turing, 2023.07
Paper/Blog Link My Issue
#Article #ComputerVision #NaturalLanguageGeneration #NLP Issue Date: 2023-08-16
OpenAI の Embeddings API はイケてるのか、定量的に調べてみる, akeyhero (Akihiro Katsura), Qiita, 2023.04
Paper/Blog Link My Issue
#Article #Embeddings #NLP #LanguageModel #STS (SemanticTextualSimilarity) #Encoder #One-Line Notes Issue Date: 2023-07-31 Comment
[JSTSタスク](
https://github.com/yahoojapan/JGLUE)では、[Tohoku
BERT v3](
https://github.com/cl-tohoku/bert-japanese/tree/main#model-performances)
と [LUKE](
https://github.com/studio-ousia/luke)が最も性能が良いらしい。
[SimCSE](
https://huggingface.co/pkshatech/simcse-ja-bert-base-clcmlp)よりも性能が良いのは興味深い。
Chatbot Arena Conversation Dataset Release, LMSYS Org, 2023.07
Paper/Blog Link My Issue
#Article #NLP #Dataset #LanguageModel #DialogueGeneration #One-Line Notes Issue Date: 2023-07-22 Comment
33kのconversation、2つのレスポンスに対する人間のpreferenceスコア付き
20種類のSoTAモデルのレスポンスを含み、13kのユニークIPからのアクセスがあり、3Kのエキスパートによるアノテーション付き
Auto train advanced, HuggingFace, 2023.07
Paper/Blog Link My Issue
#Article #MachineLearning #Tools #LanguageModel #Supervised-FineTuning (SFT) #Repository #PEFT(Adaptor/LoRA) #One-Line Notes #needs-revision #TrainingFramework Issue Date: 2023-07-11 Comment
Hugging Face Hub上の任意のLLMに対して、localのカスタムトレーニングデータを使ってfinetuningがワンラインでできる。
peftも使える。
現在はもうメンテナンスされていないようだ。
Open Source AI Game Jam, 2023
Paper/Blog Link My Issue
#Article #GenerativeAI #Game #One-Line Notes Issue Date: 2023-07-11 Comment
GenerativeAIを使ってゲームを作る取り組み
How Long Can Open-Source LLMs Truly Promise on Context Length?, 2023
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #LongContext #One-Line Notes Issue Date: 2023-07-01 Comment
LLMのcontext長を伸ばす際の方法と得られた知見がまとめられている
The AI behind unconnected content recommendations on Facebook and Instagram, Meta, 2023.6
Paper/Blog Link My Issue
#Article #RecommenderSystems Issue Date: 2023-07-01
Prompt Engineering vs. Blind Prompting, 2023
Paper/Blog Link My Issue
#Article #Tutorial #NLP #LanguageModel #Prompting #One-Line Notes #needs-revision Issue Date: 2023-05-12 Comment
experimentalな手法でprompt engineeringする際のoverview
StarCoderBase_StarCoder, 2023
Paper/Blog Link My Issue
#Article #NaturalLanguageGeneration #NLP #LanguageModel #FoundationModel #Coding #KeyPoint Notes #needs-revision Issue Date: 2023-05-06 Comment
・15.5Bパラメータ
・80種類以上のプログラミング言語で訓練
・Multi Query Attentionを利用
・context window size 8192
・Fill in the middle objectiveを利用
Instruction tuningがされておらず、prefixとsuffixの間を埋めるような訓練のされ方をしているので、たとえば関数名をinputして、そのmiddle(関数の中身)を出力させる、といった使い方になる模様。
paper: https://drive.google.com/file/d/1cN-b9GnWtHzQRoE7M7gAEyivY0kl4BYs/view
StarCoder:
https://huggingface.co/bigcode/starcoder
StarCoderBaseを35Bのpython tokenでfinetuningしたモデル。
既存モデルよりも高性能と主張
MPT-7B, Databricks AI Research, 2023.05
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #OpenWeight #One-Line Notes Issue Date: 2023-05-06 Comment
新たなオープンソースLLM。
下記ツイートより引用:
・商用利用可能
・6万5000トークン使用可能
・7Bと比較的小さいモデルながら高性能
・日本語を扱え性能が高い
とのこと。
ChatGPTのLLMと比較すると、ざっと例を見た感じ質問応答としての能力はそこまで高くなさそうな印象。
finetuningしない限りはGPT3,GPT4で良さげ。
Towards Complex Reasoning: the Polaris of Large Language Models, Yao Fu, 2023.05
Paper/Blog Link My Issue
#Article #Tutorial #Pretraining #NLP #LanguageModel #Supervised-FineTuning (SFT) #ReinforcementLearning #Chain-of-Thought #Evaluation #Reasoning #mid-training #PostTraining Issue Date: 2023-05-04
HuggingChat, 2023
Paper/Blog Link My Issue
#Article #NLP #LanguageModel #ChatGPT #One-Line Notes Issue Date: 2023-04-27 Comment
closedな世界で開発されるOpenAIのChatGPTに対して、Openなものが必要ということで、huggingfaceが出したchatシステム
公開はすでに終了している模様
More Design Patterns For Machine Learning Systems, 2023
Paper/Blog Link My Issue
#Article #Mindset #DesignPattern #One-Line Notes Issue Date: 2023-04-26 Comment
MLのデザインパターンが記述されている
Controlled experiments on the web: survey and practical guide, 2023
Paper/Blog Link My Issue
#Article #A/B Testing #Initial Impression Notes Issue Date: 2023-04-26 Comment
A/Bテストのベストプラクティスが書かれているらしい
Training a recommendation model with dynamic embeddings, TensorFlow Blog, 2023.04
Paper/Blog Link My Issue
#Article #RecommenderSystems #Tutorial #Embeddings #EfficiencyImprovement #Library #KeyPoint Notes Issue Date: 2023-04-25 Comment
dynamic embeddingを使った推薦システムの構築方法の解説
(理解が間違っているかもしれないが)推薦システムは典型的にはユーザとアイテムをベクトル表現し、関連度を測ることで推薦をしている。この枠組みをめっちゃスケールさせるととんでもない数のEmbeddingを保持することになり、メモリ上にEmbeddingテーブルを保持して置けなくなる。特にこれはonline machine learning(たとえばユーザのセッションがアイテムのsequenceで表現されたとき、そのsequenceを表すEmbeddingを計算し保持しておき、アイテムとの関連度を測ることで推薦するアイテムを決める、みたいなことが必要)では顕著である(この辺の理解が浅い)。しかし、ほとんどのEmbeddingはrarely seenなので、厳密なEmbeddingを保持しておくことに実用上の意味はなく、それらを単一のベクトルでできるとメモリ節約になって嬉しい(こういった処理をしてもtopNの推薦結果は変わらないと思われるので)。
これがdynamic embeddingのモチベであり、どうやってそれをTFで実装するか解説している。
Polars, 2023
Paper/Blog Link My Issue
#Article #Library #python #Coding #SoftwareEngineering #One-Line Notes Issue Date: 2023-01-23 Comment
pandasより100倍高速で複雑なクエリも見やすく書けてindexも存在しないのでバグも出にくいという優れものらしい
CodeGPT: The VSCode Extension with ChatGPT-Like Functionalities
Paper/Blog Link My Issue
#Article #Tools #GenerativeAI #Coding #SoftwareEngineering #One-Line Notes Issue Date: 2023-01-21 Comment
VSCodeの拡張で、//から始まるPromptをエディタ上で記載することで対応するコードをGPT3が生成してくれる模様。便利そう
推薦システムにおいて線形モデルがまだまだ有用な話, CyberAgent Developers Blog, 2022.12
Paper/Blog Link My Issue
#Article #RecommenderSystems #Tutorial Issue Date: 2022-12-19
Transformers Interpret, 2022
Paper/Blog Link My Issue
#Article #ComputerVision #MachineLearning #NLP #Library #Explanation #Transformer #One-Line Notes Issue Date: 2022-12-01 Comment
transformersのモデルをたった2行追加するだけで、explainableにするライブラリ
基本的にtextとvisionのclassificationをサポートしている模様
text classificationの場合、たとえばinput tokenの各トークンの分類に対する寄与度をoutputしてくれる。
deploy-API-to-GCP
Paper/Blog Link My Issue
#Article #Tools #Infrastructure #ML-LLM Ops #Repository #API #SoftwareEngineering Issue Date: 2022-12-01 Comment
FlaskAPIを(Flaskでなくても良い)Google Cloud Run上で、TerraFormで定義したインフラ環境でデプロイするためのリポジトリ
0. リポジトリをclone
1. Flaskアプリ作成
2. FlaskアプリをDocker化
3. TerraFormのStateを保存するためのCloudStorage作成
4. TerraFormのコード作成
5. GitHub Actionでデプロイ(CI/CD)
5によってmainブランチに対するプルリクが本番環境にデプロイされる。
Cloud Runについて
https://dev.classmethod.jp/articles/gc-cloud-run/
MLOps: 機械学習における継続的デリバリーと自動化のパイプライン, Google
Paper/Blog Link My Issue
#Article #Infrastructure #ML-LLM Ops #One-Line Notes #needs-revision Issue Date: 2022-04-27 Comment
機械学習(ML)システムの継続的インテグレーション(CI)、継続的デリバリー(CD)、継続的トレーニング(CT)の実装と自動化
MLOpsのレベルを0~2で表現しており、各レベルごとに何が達成されるべきかが図解されている。
Pythonのオブジェクト指向プログラミングを完全理解, kaitolucifer (Kaito), 2021
Paper/Blog Link My Issue
#Article #Tutorial #Coding #SoftwareEngineering #One-Line Notes Issue Date: 2021-11-25 Comment
オブジェクト指向の歴史的背景から、SOLID、GRASP等が詳細に解説されている。辞書的に参照するのが良いかも。
イラストで理解するSOLID原則, baby-degu, 2021
Paper/Blog Link My Issue
#Article #Tutorial #Coding #SoftwareEngineering #One-Line Notes Issue Date: 2021-11-25 Comment
オブジェクト指向におけるSOLID原則をイラストで解説した記事。直感的で分かりやすい。
バンディットアルゴリズムを使って広告最適化のシミュレーションをしてみたよ, ysekky, 2014
Paper/Blog Link My Issue
#Article #RecommenderSystems #Tutorial #CTRPrediction #One-Line Notes Issue Date: 2021-10-29 Comment
なぜクリック率を上げたいのかという説明が非常に参考になる
自然言語系AIサービスと著作権侵害, 柿沼太一, 2021
Paper/Blog Link My Issue
#Article #Tutorial #NLP #Legal Issue Date: 2021-10-26
【決定版】スーパーわかりやすい最適化アルゴリズム -損失関数からAdamとニュートン法-, omiita, 2019.12
Paper/Blog Link My Issue
#Article #NeuralNetwork #Tutorial #MachineLearning #NLP #Optimizer Issue Date: 2021-07-16
Seq2seqモデルのBeam Search Decoding (Pytorch), jonki, 2020.05
Paper/Blog Link My Issue
#Article #Tutorial #BeamSearch #One-Line Notes #Reading Reflections Issue Date: 2021-06-24 Comment
ビームサーチについて、コード付きで説明してくれており、大変わかりやすい。
heapqを使って実装している。また、ビームサーチをbatchに対して行う方法についても書いてある(ただ、一部に対してしかbatchでの処理は適用できていない)。
自分もバッチに対して効率的にビームサーチするにはどのように実装すれば良いのかよくわからないので、誰か教えて欲しい。
NVIDIA TRITON INFERENCE SERVER, 2021
Paper/Blog Link My Issue
#Article #MachineLearning #Infrastructure #ML-LLM Ops #One-Line Notes Issue Date: 2021-06-18 Comment
Nvidiaのオープンソースのinference server
モデルのデプロイや管理、スケーリング等を良い感じにしてくれるフレームワーク?
pytorch_lightning tips
Paper/Blog Link My Issue
#Article #NeuralNetwork #Tools #Library #python Issue Date: 2021-06-12 Comment
PyTorch Lightning 2021 (for MLコンペ)
https://qiita.com/fam_taro/items/df8656a6c3b277f58781
ゼロから始めてオフライン強化学習とConservative Q-Learningを理解する, aiueola, 2021.05
Paper/Blog Link My Issue
#Article #Tutorial #ReinforcementLearning #Off-Policy Issue Date: 2021-06-07
ResNetからSkip Connectionを取り除く研究についてのサーベイ, 徳永拓之, LeapMind株式会社
Paper/Blog Link My Issue
#Article #Tutorial #KeyPoint Notes Issue Date: 2021-06-03 Comment
Skip Connectionは
- 推論時のメモリ消費量が増える
- 推論時に計算量の割に実際の計算が重たくなりがち(特にDNN専用アクセラレーターにおいてその傾向がありがち)
というデメリットがあり、SkipConnection無しで性能を出したいことから、様々な研究が行われている模様。
ResNetを学習し、それを教師としてPlainCNNを学習するResidual Distillationが決定版らしい(普通のDistillationでは最終層の類似度のみを用いるが、生徒ネットワークの中間層の出力を教師ネットワークに入れてからbackpropして勾配を得る)。
50層のPlainCNNで、ResNet50とほぼ同等のtop-1 accuracyを達成。
メモリ消費量は20%弱削減され、実行速度は20〜30%程度高速になる。
intel MKL
Paper/Blog Link My Issue
#Article #EfficiencyImprovement #Library #python #One-Line Notes Issue Date: 2021-06-03 Comment
intel CPUでpythonの数値計算を高速化するライブラリ(numpyとかはやくなるらしい; Anacondaだとデフォルトで入ってるとかなんとか)
EfficientNet解説, omiita (オミータ), 2019.10
Paper/Blog Link My Issue
#Article #NeuralNetwork #Tutorial #ComputerVision #EfficiencyImprovement #ImageClassification #One-Line Notes Issue Date: 2021-05-24 Comment
既存画像認識モデルの構造は変化させず、広さ、深さ、解像度を複合スケーリングすることで、従来よりも少ないパラメータ数、かつ学習速度でSoTAを達成。広さ、深さ、解像度はそれぞれ性能に互いに影響しあっており、従来のように別々にスケーリングするのではなく、3つのバランスをとりながらスケーリングする。スケーリングする際は、結果的にはそれぞれをある値で定数倍すれば良く、そのある値は最大メモリや最大FLOPS数以下(およびFLOPSが2のΦ乗で増加するような)といった制約下でAccuracyが最大化される値をグリッドサーチで見つける(らしい。ざっくりとした理解)。
転移学習しても多くのタスクでSoTA達成した。
GLUE - 英語圏における自然言語処理の標準ベンチマーク, npaka, 2020.09
Paper/Blog Link My Issue
#Article #Tutorial #NLP #Dataset #Evaluation #Initial Impression Notes Issue Date: 2021-05-19 Comment
各タスクごとにサンプルとその説明が付与されており、ぱっと見でどんなタスクかすぐ分かる
Open Bandit Dataset, ZOZO RESEARCH, 2020
Paper/Blog Link My Issue
#Article #RecommenderSystems #Dataset Issue Date: 2020-08-29 Comment
Open Bandit pipelineも参照
資料:
https://speakerdeck.com/usaito/off-policy-evaluationfalseji-chu-toopen-bandit-dataset-and-pipelinefalseshao-jie
Collaborative Metric Learningまとめ, guglilac, 2020.01
Paper/Blog Link My Issue
#Article #RecommenderSystems #Tutorial #CollaborativeFiltering #ContrastiveLearning #One-Line Notes Issue Date: 2020-07-30 Comment
userのembeddingに対し、このuserと共起した(購入やクリックされた)itemを近くに、共起していないitemを遠くに埋め込むような学習方法
BERT 日本語Pre-trained Model, NICT, 2020.03
Paper/Blog Link My Issue
#Article #NeuralNetwork #Tools #NLP #Dataset #LanguageModel #Library #Japanese #Encoder #One-Line Notes Issue Date: 2020-03-13 Comment
NICTが公開。既に公開されているBERTモデルとのベンチマークデータでの性能比較も行なっており、その他の公開済みBERTモデルをoutperformしている。
Key trends from NeurIPS 2019, Chip Huyen, 2019.12
Paper/Blog Link My Issue
#Article #Tutorial #MachineLearning #NeurIPS Issue Date: 2020-01-16
10 ML & NLP Research Highlights of 2019, Sebastian Ruder, 2020.01
Paper/Blog Link My Issue
#Article #Survey #MachineLearning #NLP Issue Date: 2020-01-13
