Python

StreamlitにGoogle Analyticsのタグを埋め込む

Streamlitで作ったwebアプリにGoogle Analyticsのタグ(gtag.js)を埋め込みたかったが手こずった。 st.components.v1.htmlやst.markdownでhtmlを書き込むことが可能だが、<bod...
Deep Learning

LLMのファインチューニングでEOSが出力されずテキスト生成が終わらない

Llama2のLoRAをしていた時、うまくEOSが出力されず、文章生成がmax_new_tokensの数まで生成されてしまっていた。 解決するのに手間取ったので備忘録。 結論を先に示すとPAD = EOSにしていたのが原因で、EOSもatt...
Deep Learning

LLMの一部レイヤーの重みを固定してLoRAを使わずFP16でファインチューニングする

LLMのファインチューニングを行う際、QLoRAやPEFTで行われている記事が多いが、これらの効率化技術を使わなかった時の性能を確認してみたくなった。 また、大規模データで学習済みのモデルは入力層に近いほどデータの抽象的な特徴を学習している...
Python

テキストの前処理でGiNZAを使って個人情報のマスキングをする

LLMの学習データを用意していた際、人名などの個人情報をマスキングしたくなった。 調べてみると、日本語の自然言語処理ライブラリであるGiNZAで固有表現を抽出できるみたい。 v5からTransformersモデルを採用しており、解析精度が向...
Deep Learning

torchinfoでHugging Faceのモデルのsummaryを出力しようとするとRuntimeError: Failed to run torchinfo.

kerasのmodel.summary()と似たようなことをpytorchのモデルで行ってくれるライブラリとして、torchinfoがある。 llama2がどんな構造でパラメータ数なのか気になったのでtorchinfoを使ってみた所、表題の...
Linux

Ubuntuで電源を落とさずにSSD/HDDをホットスワップする

再起動せずにSSD/HDDを交換したい場面があったので、Ubuntuでのホットスワップの手順をまとめた。 マザーボードやBIOSがホットスワップに対応していること前提。 以下、交換したいストレージは/dev/sdbでアンマウント済、ルートユ...
その他

EndNoteにarXivの文献を取り込む方法

文献管理ツールのEndNoteにarXivの論文を取り込むのに手こずったので備忘録。 arXivの論文ページ右側のDownloadからNASA ADSをクリック。 左側のExport Citationを選択し、Export FormatをE...
LeetCode

pythonで深さ優先探索の行きがけ、帰りがけ、通りがけの使い分け

深さ優先探索では、行きがけ(preorder)、帰りがけ(postorder)、通りがけ(inorder)を使い分けることがあるが、こんがらってしまう。 理解しやすいよう2分木で簡単な実装をしてみた。以下、当該ノード、左部分技、右部分技のこ...
Prometheus

PrometheusでError executing query: exceeded maximum resolution of 11,000 points per timeseries.

Prometheusにはクエリを投げてグラフ表示する機能がある。 Res(s)は表示するデータの解像度を指定するパラメータであり、デフォルトは空欄で勝手にグラフを調整してくれる。 全データをグラフに表示してみたくなり、Resに1を入力したと...
LeetCode

1799. Maximize Score After N Operations

Dailyで出てきたHardの問題。 解説を見るとビットマスキングとDPを使っていて難しい。 もっと単純に、素直に解けたので備忘録。もちろん最適解ではない。 成約を見ると以下の通りである。 1 <= n <= 7nums.length ==...