🚀 日本語小說獎勵模型 sarashina2.1-1b
本模型是基於 sbintuitions/sarashina2.1-1b 進行微調得到的,用於評估日本語小說質量的獎勵模型。主要用於小說生成模型的強化學習等場景。通過迴歸預測用戶對輸入小說文本的評價,從而間接評估文本質量。不過請注意,該評估可能受到文本質量以外的多種偏差(如體裁、風格等)影響。
Sarashina 遵循 Sarashina 模型非商業許可協議,版權所有 ©SB Intuitions 公司。保留所有權利。
🚀 快速開始
在使用該模型前,請先安裝 transformers
和 flash attention 2
等庫。
💻 使用示例
基礎用法
from transformers import pipeline
import torch
model_name = "Aratako/Japanese-Novel-Reward-sarashina2.1-1b"
classifier = pipeline("text-classification", model=model_name, tokenizer=model_name, max_length=8192, truncation=True, device_map="auto", torch_dtype=torch.bfloat16)
text1 = """ 地球から四光年先にある惑星シルヴァは、常に緑色のオーロラが大気を覆い盡くしている。大気組成はわずかに人類が呼吸できる水準に達しており、國際恆星探査チームは著陸後すぐに小規模な調査基地を設営した。まだ未知の生物や環境リスクが多く、常時防護服を著用することが義務付けられていたが、そこには他の惑星にはない神秘的な輝きがあった。
しかし、シルヴァに到著して三週間が経過したある日、チームは周波數帯の異なる奇妙なシグナルを受信した。それは惑星の奧地から発せられているらしく、斷続的に解析不可能な符號を繰り返している。始めは放電現象や地磁気の亂れと考えられたが、解析を続けるうちにそのパターンには高度な規則性があると判明した。シルヴァに原生生物がいるかは不明だったが、仮に知的生命體が存在するとすれば、このシグナルこそが最初の接觸の証拠かもしれない。
未知のシグナルを探索するため、調査チームの半數は基地に殘り、他の半數が地上車両で発信源を目指すことになった。たどり著くのは容易ではない。惑星の自転と軌道は不安定で、オーロラの発生源である極地帯を通らなければならないからだ。そこは強烈な電子嵐が吹き荒れ、通信が途切れるリスクも大きい。
出発してから三日目の夜、車両の通信裝置に再びあの符號が流れ込んできた。しかも、これまでよりも鮮明で、かつ信號の強度が一定している。人類側の移動に合わせてシグナルが強まっているようにすら感じられた。まるで“何者か”がこちらを探り、導こうとしているかのようだった。
五日目の夕刻、車両は目的地と思われる地點に到著した。そこには巨大な結晶柱が何本も地面から突き出し、緑色のオーロラを反射してきらめいている。やがて強烈な放電光が走り、車両のモニターに無數の文字列が流れ出した。その一つひとつが、これまで受信してきた符號の斷片と一致することが判明する。
「解読できないか?」
チームのエンジニアがすぐに端末に入力を開始する。すると、高度な數理アルゴリズムを経て、短い文章が浮かび上がった。
——ようこそ。我々はあなたたちを待っていた。——
一同は息をのんだ。この惑星に知的生命體が存在する可能性が高いと確信した瞬間だった。恐る恐る結晶柱へ近づくと、表面に薄く光る膜のようなものが走っているのが見えた。誰もが初めて見る未知のテクノロジーに戸惑いと興奮を隠せない。
「これは、メッセージの投影裝置かもしれない。地球でいうホログラムのような……」
先ほどの一文に続き、さらに複雑な符號が走る。解読ソフトが再び動き、次々と浮かび上がる言葉に、人類は初めて“彼ら”の聲を聞いた。
——この星はあらゆる音を、光として記録する。私たちはあなた方を歓迎する準備ができている。——
その瞬間、結晶柱の周囲にあった無數のオーロラが渦を巻き始め、調査チームは鮮やかな光の嵐に包まれた。リーダーの胸には、畏怖と同時に奇妙な安心感が広がっていた。やがて通信が基地へ復舊されると、結晶柱の內部に広がる未知の世界をすべて記録すべく、全人類が新たな一歩を踏み出す準備を始めるのだった。"""
text2 = """ ぼくは宇宙船に乗っていた。理由はよくわからない。とにかく、ここは狹い部屋がひとつあるだけで、窓は黒くて何も見えない。宇宙を旅しているはずだけれど、景色は真っ暗だ。食料もカプセルみたいな固いものばかりだ。あんまりおいしくない。
日常のほとんどは退屈だから、寢てばかりいる。ときどき目を覚ましてコントロールパネルを見るけど、赤や青のランプが意味もなく點滅しているだけで、何がどうなっているのかよくわからない。
船內のコンピュータと會話しようとしても、返事は「異常ナシ。航行中デス」としか言わない。何か異常があったらどうなるか、想像するのも面倒だから、そのまままた寢る。たまに重力の調整がうまくいかず、少しふわっとするけど、すぐに元に戻る。それだけだ。
ぼくは宇宙船で何をしているのか、本當によくわからない。たぶん地球に帰ることを目指しているんだろうけど、帰っても特別やることはないし、急ぐ理由も思いつかない。そういえば、いつ出発したのかも覚えていない。
ときどき通信が入ることがあるけれど、大抵は雑音だけだ。何を言っているかもわからないし、聞き返す気力もない。音聲ログを再生しても「ザザ…」というノイズが続くだけで、最後に小さな聲が聞こえるような気がするけど、結局意味が分からないから気にしない。
そんなわけで、今日はまた固いカプセル食をかじったあと、ぼくはベッドに倒れ込むようにして眠りについた。明日もまた同じ一日が続くと思うけれど、特に問題はない。どうせ闇しか見えない宇宙の中で、ぼくはただ一人だからだ。
宇宙って、こんなにつまらないものだったんだなと思いながら、ぼくは船內のランプが點滅するのをぼんやり眺める。それでも船はどこかへ向かって動いているらしい。目標があるのかどうかはよくわからない。"""
print(classifier([text1, text2]))
運行上述代碼後,輸出如下:
[{'label': 'LABEL_0', 'score': 8.375}, {'label': 'LABEL_0', 'score': 6.78125}]
由於訓練數據的原因,輸出結果預計在 0 到 10 的範圍內,但也可能會出現超出該範圍的異常值。
📚 詳細文檔
訓練的超參數
訓練的主要超參數如下:
屬性 |
詳情 |
學習率 (learning_rate ) |
1e-05 |
訓練批次大小 (train_batch_size ) |
4 |
評估批次大小 (eval_batch_size ) |
8 |
隨機種子 (seed ) |
42 |
梯度累積步數 (gradient_accumulation_steps ) |
4 |
總訓練批次大小 (total_train_batch_size ) |
16 |
優化器 (optimizer ) |
paged_adamw_8bit |
學習率調度器類型 (lr_scheduler_type ) |
cosine_with_min_lr |
學習率調度器預熱比例 (lr_scheduler_warmup_ratio ) |
0.1 |
訓練輪數 (num_epochs ) |
3 |
最大長度 (max_length ) |
8192 |
訓練結果
將數據劃分為訓練集、驗證集和測試集,並採用驗證損失最小的步驟對應的模型。
-
驗證集數據的評估指標
- 損失 (
Loss
):1.1625
- 平均絕對誤差 (
Mae
):0.7953
- 決定係數 (
R2
):0.4308
- 皮爾遜相關係數 (
Pearsonr
):0.6615
- 斯皮爾曼相關係數 (
Spearmanr
):0.6458
-
測試集數據的評估指標
- 損失 (
Loss
):1.0627
- 平均絕對誤差 (
Mae
):0.7734
- 決定係數 (
R2
):0.4137
- 皮爾遜相關係數 (
Pearsonr
):0.6549
- 斯皮爾曼相關係數 (
Spearmanr
):0.6483
-
測試集數據的推理結果分佈
- 散點圖

- 誤差分佈

📄 許可證
本模型繼承了原始模型的 Sarashina 模型非商業許可協議。使用時請注意該協議包含的各種限制。
框架版本
- Transformers 4.49.0
- Pytorch 2.6.0+cu124
- Datasets 3.3.2
- Tokenizers 0.21.0