はち

外資系IT企業勤務。最近はLLMにハマってます。

はち

外資系IT企業勤務。最近はLLMにハマってます。

記事一覧

固定された記事

進化的アルゴリズムをもちいたChatVector加算の最適化

はじめにこれまで何度かChatVectorやそれに類することを施行してきましたが、元のモデル+ChatVectorの加算はいつも1:1で実施してきました。それでもある程度上手くいってい…

はち
3週間前
23

Chat VectorとMath Vectorは併用できるのか

はじめにこの記事は以下記事の続きになります。 Chat Vectorと呼ばれる、重みの足し引きでFine TuningなしにChat能力を事前学習モデルに付与できるという技術あります。 …

はち
1か月前
8

Chat VectorならぬMath Vectorは作れるのか

はじめにこの記事は以下記事の続きになります。 Chat Vectorと呼ばれる、重みの足し引きでFine TuningなしにChat能力を事前学習モデルに付与できるという技術あります。 …

はち
1か月前
15

Chat VectorにならぬCode Vectorは作れるのか

はじめにChat Vectorと呼ばれる、重みの足し引きでFine TuningなしにChat能力を事前学習モデルに付与できるという技術あります。 つまりこういうことですね。  ChatVecto…

はち
1か月前
17

BitNet&BitNet b158の実装④

はじめに前回、BitLinear b158の実装を行いました。前回までの内容は以下をご参照ください。 4. BitNet b158の検証BitNetの検証と同様、 BitLlamaでBitLinear158bを利用…

はち
1か月前
17

BitNetにおけるSTE(Straight-Through Estimator)の実装

はじめに現在、私は以下のような試みをしています。 BitNetとは BitNetとはweightとactivationを量子化する手法の1つで、特にweightを{-1, 0, 1}の3値に量子化するBitNe…

はち
1か月前
14

BitNet&BitNet b158の実装③

はじめにBitNetおよびBitNet b158の実装を続けていこうと思います。 ボリュームが大きくなってきたため、記事を分けることとしました。前回までの内容は以下をご参照くださ…

はち
1か月前
15

BitNet&BitNet b158の実装:参照まとめ

各ページに都度参照を書いていくと冗長なためここに参考にした資料を置いていきます。 参照

はち
1か月前
7

BitNet&BitNet b158の実装②

はじめに少し間が空いてしまいましたが、BitNetおよびBitNet b158の実装を続けていこうと思います。 ボリュームが大きくなってきたため、ページを分けることとしました。前…

はち
1か月前
22

自作アーキテクチャのモデルをHuggingFaceにプッシュする方法

はじめに現在、私は以下のような試みをしています。 その中で、自作アーキテクチャ(Transformersに実装されていない)モデルをHuggingFaceにpushすると、当たり前ではあ…

はち
1か月前
5

BitNet&BitNet b158の実装①

はじめに先週発表された論文『The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits』は多くの人に衝撃を与えたと思います。 それまで量子化とは、有り体に…

はち
2か月前
55

既存日本語LLMをBitNetで置き換えて実行してみた

はじめに昨夜からBitNetという1bit量子化LLMが話題になっていました。 簡単な概要としては、 既存のLLMが1パラメータをFP16やBF16などのfloat型で扱っているものを、1パ…

はち
2か月前
60

Google Colabでの日本語Mambaの事前学習

はじめに昨年(2023年)末にMambaアーキテクチャが公開されました。 MambaはS4などと同様の状態空間モデルというもので、Transformerと比べて、 高速な推論 シーケンス長が…

はち
2か月前
13

Mergekitを使ったMoE(Mixture of Experts)作成のテクニック

はじめに以前行ったMergekitを使った日本語MoEの作成(以下記事)がそこそこ上手くいったものの、かなり手探りで実施した感があった。 そんな中、有志でベストプラクティス…

はち
3か月前
11

Google Colab:Mergekitによる日本語モデルMoEの作成

0. はじめにMistral AIによるMixtral -8x7bモデルの成功により、最近MoE(Mixture of Experts)モデルが流行ってきている気がします。 他にもPhi-2のMoEであるPhixtual-2x…

はち
3か月前
12

既存日本語ベンチマークについての調査結果

LLMの日本語性能を確認するためのベンチマークとして、 ・現状使われているもの ・使えそうなもの について調べてみました。 1. 課題感近年、ChatGPTを筆頭としたLLMの成…

はち
8か月前
23
進化的アルゴリズムをもちいたChatVector加算の最適化

進化的アルゴリズムをもちいたChatVector加算の最適化

はじめにこれまで何度かChatVectorやそれに類することを施行してきましたが、元のモデル+ChatVectorの加算はいつも1:1で実施してきました。それでもある程度上手くいっていましたが、この加算比率をSakanaAIのEvoLLMのように最適化するということができるらしいです。
ただ、調べた限りコードが落ちていなかったので自分なりに調べて試してみたというのが本記事の内容になります。

1.

もっとみる
Chat VectorとMath Vectorは併用できるのか

Chat VectorとMath Vectorは併用できるのか

はじめにこの記事は以下記事の続きになります。

Chat Vectorと呼ばれる、重みの足し引きでFine TuningなしにChat能力を事前学習モデルに付与できるという技術あります。
この発想から、Chat能力以外にも能力の切り貼りはできるのかという検証が前記事までの趣旨となります。

結果以下の通りです。
⭕️ Chat(論文)
×  Code
⭕️  Math Reasoning

なので

もっとみる
Chat VectorならぬMath Vectorは作れるのか

Chat VectorならぬMath Vectorは作れるのか

はじめにこの記事は以下記事の続きになります。

Chat Vectorと呼ばれる、重みの足し引きでFine TuningなしにChat能力を事前学習モデルに付与できるという技術あります。
この発想から、Chat能力以外にも能力の切り貼りはできるのかという検証が本記事の趣旨となります。
今回は以下の能力について試したいと思います。

数学的推論能力

結論だけ書くとある程度うまくいきました。検証記録

もっとみる
Chat VectorにならぬCode Vectorは作れるのか

Chat VectorにならぬCode Vectorは作れるのか

はじめにChat Vectorと呼ばれる、重みの足し引きでFine TuningなしにChat能力を事前学習モデルに付与できるという技術あります。

つまりこういうことですね。
 ChatVector = Llama2-chat - Llama2
でChat能力を抽出し、
 New-Model-chat = New-Model + ChatVector
でNew-ModelにChat能力を付与でき

もっとみる
BitNet&BitNet b158の実装④

BitNet&BitNet b158の実装④

はじめに前回、BitLinear b158の実装を行いました。前回までの内容は以下をご参照ください。

4. BitNet b158の検証BitNetの検証と同様、

BitLlamaでBitLinear158bを利用できる様に修正

事前学習ができるか(Lossが下がるか)確認

を行います。

4-1. BitLlamaの修正

modeling_bit_llama.pyにおいて、BitLin

もっとみる
BitNetにおけるSTE(Straight-Through Estimator)の実装

BitNetにおけるSTE(Straight-Through Estimator)の実装


はじめに現在、私は以下のような試みをしています。

BitNetとは

BitNetとはweightとactivationを量子化する手法の1つで、特にweightを{-1, 0, 1}の3値に量子化するBitNet b158はベースとしているLlama2の性能を上回ることを示し、注目を浴びました。
その実装の中で、量子化(つまりFloat16や32ではなくより離散的な値を扱う様にする処理)を行

もっとみる
BitNet&BitNet b158の実装③

BitNet&BitNet b158の実装③

はじめにBitNetおよびBitNet b158の実装を続けていこうと思います。
ボリュームが大きくなってきたため、記事を分けることとしました。前回までの内容は以下をご参照ください。
2日連続での投稿となるので前後関係をお気をつけください。

3. BitNet b158これまでに作成したBitLinearを修正していく形でBitNet b158用のBitLinear b158を作成していきます。

もっとみる
BitNet&BitNet b158の実装②

BitNet&BitNet b158の実装②

はじめに少し間が空いてしまいましたが、BitNetおよびBitNet b158の実装を続けていこうと思います。
ボリュームが大きくなってきたため、ページを分けることとしました。前回までの内容は以下をご参照ください。

2. BitNetの検証今回は、前回作ったBitNetの検証を進めていこうと思います。
検証内容としては、

BitLlamaの構築

事前学習ができるか(Lossが下がるか)確認

もっとみる
自作アーキテクチャのモデルをHuggingFaceにプッシュする方法

自作アーキテクチャのモデルをHuggingFaceにプッシュする方法

はじめに現在、私は以下のような試みをしています。

その中で、自作アーキテクチャ(Transformersに実装されていない)モデルをHuggingFaceにpushすると、当たり前ではありますがそのアーキテクチャでは重みをloadできないことに気づきました。
なので、

自作アーキテクチャ(Transformersに実装されていない)モデルをHuggingFaceにpush

できる限り簡単にA

もっとみる
BitNet&BitNet b158の実装①

BitNet&BitNet b158の実装①

はじめに先週発表された論文『The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits』は多くの人に衝撃を与えたと思います。
それまで量子化とは、有り体に言えば性能を犠牲にメモリ等のコストを抑える手法でした。しかし、BitNet b158(*)では量子化手法としては初めてオリジナルを超える性能を出す可能性を魅せてくれました。

もっとみる
既存日本語LLMをBitNetで置き換えて実行してみた

既存日本語LLMをBitNetで置き換えて実行してみた

はじめに昨夜からBitNetという1bit量子化LLMが話題になっていました。
簡単な概要としては、

既存のLLMが1パラメータをFP16やBF16などのfloat型で扱っているものを、1パラメータで{-1, 0, 1}しか扱わない様にした。

計算に使う情報量を削ることで、処理速度の向上、メモリの節約が叶う。

3B params以上ではベンチマークスコアの平均で同サイズのLlamaを上回る結

もっとみる
Google Colabでの日本語Mambaの事前学習

Google Colabでの日本語Mambaの事前学習

はじめに昨年(2023年)末にMambaアーキテクチャが公開されました。
MambaはS4などと同様の状態空間モデルというもので、Transformerと比べて、

高速な推論

シーケンス長が伸びた際のメモリ効率の良さ

単純なモデル性能の良さ

で優れている様です。
日本語モデルがないので、日本語Mambaの事前学習のコードを作成しました。Google colabで動くことは確認したもののA1

もっとみる
Mergekitを使ったMoE(Mixture of Experts)作成のテクニック

Mergekitを使ったMoE(Mixture of Experts)作成のテクニック

はじめに以前行ったMergekitを使った日本語MoEの作成(以下記事)がそこそこ上手くいったものの、かなり手探りで実施した感があった。
そんな中、有志でベストプラクティスがまとめられているのを知ったのでその要約を自分のためにここにまとめようと思う。

忙しい方は4. まとめ だけ読めば雰囲気は確認できると思う。

1. 概要章の構成は以下の通り。

Overview

What makes a

もっとみる
Google Colab:Mergekitによる日本語モデルMoEの作成

Google Colab:Mergekitによる日本語モデルMoEの作成


0. はじめにMistral AIによるMixtral -8x7bモデルの成功により、最近MoE(Mixture of Experts)モデルが流行ってきている気がします。
他にもPhi-2のMoEであるPhixtual-2x2bとかありましたね。
それに倣って、日本語モデルのMoEも作ってみたくなって試してみました。
以下が作ってみたモデルです。

1. Configファイルの作成config

もっとみる
既存日本語ベンチマークについての調査結果

既存日本語ベンチマークについての調査結果

LLMの日本語性能を確認するためのベンチマークとして、
・現状使われているもの
・使えそうなもの
について調べてみました。

1. 課題感近年、ChatGPTを筆頭としたLLMの成功・活躍から、多くのLLMが発表されています。英語のモデルに遅れてではありますが、そうした流れを受けて日本語に強いモデルも出てきてはいます。

英語モデルは多様な観点でその能力を測るベンチマークが多く整備されています。そ

もっとみる