はじめに
みてみて🫶LUKE1 nikkieです。
GPTの系列(デコーダ構成)とは異なりますが、(BERT系列の)LUKEというモデルについて知っていることをまとめます。
目次
『大規模言語モデル入門』より
エンコーダ構成の日本語モデルの1つにLUKEが紹介されています(5.6)。
LUKE(Language Understanding with Knowledge-based Embeddings)は(略)、Wikipediaから得られるエンティティ(entity)情報を取り入れたモデルです。(Kindle版 p.250)
エンティティとは、人物、場所、組織、出来事など特定の概念とのこと。
LUKEの学習においては、各Wikipedia記事が一つのエンティティであるとみなしています。(Kindle版 p.250)
Wikipedia記事からエンティティに関する知識をモデルに教えられるので、「知識強化言語モデル(knowledge-enhanced language model)」とも呼ぶそうです。
資料類
全て読破したわけではなく、積ん読的な意味合いもあります
EMNLP 2020
解説
NLP2023
Hugging Face
エンティティを入力として使わない一般的なNLPタスクには、liteモデルを利用してください。(公開ブログより)
公開モデルを動かす
M1 Macで動かしています(mpsなるもの)
fill-mask
>>> # uv run --python 3.11 --with 'transformers[ja,torch,sentencepiece]' python # 3.11.8 >>> from transformers import pipeline >>> fill_mask_pipeline = pipeline(model="studio-ousia/luke-japanese-base", task="fill-mask") >>> for res in fill_mask_pipeline("東北大学で<mask>の研究をしています。"): ... print(res) ... {'score': 0.07046033442020416, 'token': 29245, 'token_str': 'Linux', 'sequence': '東北大学で Linux の研究をしています。'} {'score': 0.03674976900219917, 'token': 21583, 'token_str': 'Android', 'sequence': '東北大学で Android の研究をしています。'} {'score': 0.026225080713629723, 'token': 9679, 'token_str': 'iPhone', 'sequence': '東北大学で iPhone の研究をしています。'} {'score': 0.02452312782406807, 'token': 16846, 'token_str': '人工知能', 'sequence': '東北大学で人工知能 の研究をしています。'} {'score': 0.021430226042866707, 'token': 18664, 'token_str': 'Facebook', 'sequence': '東北大学で Facebook の研究をしています。'}
固有表現抽出
この記事にならって(ただし高い性能を出すためのファインチューニングは後回しにして)動かした例です。
出力(抜粋)
株式会社は全ての LABEL_1 は全ての合意をフェアにします。 LABEL_1
ファインチューニングしていないのでLABEL_1
(固有表現のラベルと理解)はめちゃくちゃですが、entity_spans
によってどのようにトークナイズされるかのイメージは掴めるように思います(このスクリプトから始めて色々とprintを試しました)
終わりに
知識強化言語モデル LUKE について、論文や解説動画・スライドをまとめ、また、transformersで触りました。
エンティティという概念、また、それをサポートするためのトークナイズ(など)、まだ自分のものにできていない感覚ですが、興味深い技術だと思います。
P.S. 1/29(水) LUKEミートアップ 予習記事でした
弊社オフィス(丸の内)で開催!
明日1/29(水)丸の内開催です!
— nikkie(にっきー) / にっP (@ftnext) 2025年1月28日
・LUKEを取り巻く最新状況(Studio Ousiaさん)
・経済の知識に特化させたUBKE-LUKE
・PKSHAさんのGLuCoSE v2
『大規模言語モデル入門』にサインいただけるかなあ#luke_meetup #UBTech https://t.co/F9FEdWE1vZ
-
オマージュしました
↩『衣装購入』に「みてみて♡ルック(FAIRY STARS)」を追加しました!
— ミリオンライブ! シアターデイズ【公式】 (@imasml_theater) 2024年9月27日
FAIRY STARS 13人分の衣装が付いたプラチナガシャ10回チケットを、有償ミリオンジュエル2500個で購入いただけます!
詳しくはアプリ内のお知らせをご確認ください♪#ミリシタ pic.twitter.com/Mrr812HOuh