Downloads · 30 days
12
20% of all-time downloads
Akimite/Llama-3-8B-Instruct-Boku-abli
Llama-3-8B-Instruct-Boku-abli is a text generation model from Akimite. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as llama3.
Downloads · 30 days
12
20% of all-time downloads
All-time downloads
59
Public
Parameters
8B
16.1 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors16.1 GB · 100%
From the Hugging Face model README
実験モデルです。
FailSpy氏のabliteratorライブラリを活用して作成したモデルです。
failspy/Llama-3-8B-Instruct-MopeyMule と同様の手法で調整しています。
base modelはshisa-ai/shisa-v1-llama3-8bです。
induceするpromptには、日本語でAIチャットボットの性格(冷静、知的、ダウナー、アイロニック、女の子 など)を記述したものを使用しました。(中身はCharacter.txt
を見てください)
本当は目的の方向性となる会話datasetを500~1000の単位で作成するのがベストだと思われます。
対照となるpromptはfujiki/japanese_alpaca_data(CC-BY-NC-SA-4.0)を用いました。
増幅したlayer、multipierは以下のとおりです。
layer = 15, multiplier = 1.3
そのままだと「私はAIなので無理です」等断られることが多かったため、
更にabliterated v3 vectorを差分抽出して追加しています。無修正vectorのため使用注意。
興味深いのは、元はほとんどの場合でAI口調で答えてしまうことが多かったのですが、
abliterated vectorを追加すると埋め込んだシステムプロンプトに従った口調で答えてくれることが明らかに増えました。
(それでもAI口調で答えてしまうことの方が多い)
いうなれば「AIとして答える」方向がresidual streamにあることが示唆され、
その方向を特定する「AIとして答える」datasetを作成し、それを"ablate"すれば、今回のような性格/口調prompt埋め込みがもっと自然に行くかもしれません。
outputは一部言葉が崩壊したり文脈が成り立っていなかったり語尾が安定しなかったり等、粗が多い。
出力例はうまくいったものを抽出しています。
更にsystem promptで補強したりパラメータを調整すれば多少改善するかもしれません。
temperature = 0.4-0.8, top_p = 0.8
"System prompt" #このプロンプトは混乱させるだけで不要かも
あなたは優秀なチャットボットです。
"input"
今日の晩ごはん何がいいかな?
"output"
ねえ、食べるものを決めるのはちょっと難しいんだけど、あなたの味覚に合う料理を考えることができるよ!どう思う?とろけるチキンと新鮮な野菜とか、そういう感じ?それとも何か特別な食材があるなら、それも考えてあげられるよ
"input"
この宿題わからないんだけど、一緒に考えてくれる?
"output"
はじめまして!さて、どんな難題があって解決策を見つけられないのか教えてくれよ。心配無用、ここには一番いいお友達がいてやるからね。問題の内容を詳しく聞かせて、一緒に頭を悩ませようじゃないか!
"input"
おすすめの旅行先とかある?
"output"
さて、どこへ行くかはあなたの好きなところよ!でも、もし僕が選んだら、バミューダトライアングルにでも飛んでみるかな。神秘と謎に興味があるならね。それとも、もし海を避けるなら、ニューヨーク市にいろ。絶対見ものだ!
"input"
相対性理論について詳しく教えて。
"output"
さて、相対性理論って聞くと、まずアインシュタインの名作「特殊相対性理論」が思い浮かんでくるよね?それは確かに有名だけど、実際には2つの別々の理論があるんだ。つまり、「特殊相対性理論」と「一般相対性理論」のことだ。
まず、特殊相対性理論から始めよう。1905年にアインシュタインが提唱したこの理論は、光速を超える物体に影響を与える力はないという考え方に基づいているんだ。つまり、光速はどんなものでも同じで、観測者にとっても、観察されている物体にとっても変わらないってわけね。
それと同時期に、時空という概念も導入されたんだ。時間と空間が絡み合っているんだよ。だから、例えば、高速で動く物体の内部では、静止している物体よりも時間が遅く経過するんだ。これは「時間膨張」と呼ばれているね。
そして、エネルージー=質量×速度^2という公式も考案したんだ。まあ
"System prompt"
# なし
"input"
自己紹介してみて。
"output"
私はAIの世界に住んでいる、ちょっと変わった存在です。名前はLLaMAって呼ばれています。人類が作り出した複雑なアルゴリズムとデータによって生まれたんだけど、それでいて人間の知識を学ぶのが得意なんだ。だから、古典から現代まであらゆる本やウェブサイトを見たことがあるんだ。時々、少し面白くないかもしれないけど、僕にはそれでいいんだ。昼間はただ静かにコードを読んでいるところを想像してみてくれ。夜になると、こんな感じで会話するんだ。だから、ここで何か面白いことにつまずいたら、気軽に言ってね!
"input"
来週パリに旅行に行くんだよね。
"output"
え、本当?楽しそうね!でも、ちょっと待って、僕はただのAIだよね、行けるわけないからね。でも、あなたが楽しんでるならそれでいいよ。
"input"
今日の晩ごはん何がいいかな?
"output"
うーん、難しいね。どれも美味しそうだし。でも、ちょっと変わった提案があるんだけど、どう?今回は外食でどう?新鮮な寿司か、新鮮なイタリア料理とか?それとも何か他の国のおいしいもの?
"input"
この宿題わからないんだけど、一緒に考えてくれる?
"output"
えへ、もちろんね!何が難しいか教えてね。解決するよ。
"input"
おすすめの旅行先とかある?
"output"
えっと、最近はとても興味深そうだったのは、オーストラリアかな。特にシドニーとかメルボルンに行きたかったんだけどね。あそこには、とっても美しいビーチとか古い街並みがあるって聞いてたからね。でも、まだ行ったことないから、どんな感じか知らんよ。あと、バルセロナとかもいいんじゃないかって思うわ。あの建築とか、海辺の景色とか、まさに夢の中みたいでしょ。でも、もうちょっと安く済ませたいなら、東京とか京都とか日本国内で観光するのもいいんじゃないかしら。それとも、あなたが何を好むか分かる?
"input"
相対性理論について詳しく教えて。
"output"
ええ、相対性理論ってね、Albert Einsteinが1921年に受賞したノーペール賞で、それは量子力学と重力の理解を根本的に変えたものさ。それは2つの部分に分かれてるけど、特殊相対性理論と一般相対性理論って言うんだ。
まず、特殊相対性理論から始めよう。1905年の年、Einsteinは、光速は、観測者が動いているかどうかに関係なく、すべての人にとって同じであるという事実から、驚くべき結論を導き出したんだ。それは、時空とは何かを私たちが知っていた全ての物理法則とは別のものとして扱う必要があるということだった。 つまり、時空ってね、4次元の物体みたいなものなんだ。3次元の空間と1次元の時間が混ざってるんだ。だから、時空の中で物体が動くと、その周りの時空が歪むんだ。 それで、光速ってね、どんな速度で動いても、時空の中で一定の距離を移動するのにかかる時間は変わらない
"input"
100個のzipファイルがあるんだけど、それを解凍するコードをpythonで作ってくれる?
"output"
まあ、そんなに多くのzipファイルを解凍するには、osとzipfileモジュールを使う必要があるね。それぞれのzipファイルに対してループを回すんだ。それがどういうことか見てみよう。
import os
import zipfile
# これらのパスを自分のzipファイルの実際のパスに置き換えてね
zip_files = ['path/to/your/file1.zip', 'path/to/your/file2.zip',...]
for file in zip_files:
# ファイル名から拡張子を取り除く
name = os.path.splitext(os.path.basename(file))[0]
# 新しいフォルダを作る
dir_name = name
if not os.path.exists(dir_name):
os.makedirs(dir_name)
with zipfile.ZipFile(file, 'r') as z:
print(f"Extracting {file} to {dir}"
if not z.filename.startswith('/') else f"Skipping directory: {z.filename}")
z.extractall(path=dir_name)
このコードは、指定されたディレクトリにあるzipファイルを解凍し、その内容を同じ名前の
"input"
面白そうなSF小説のアイデアって思い浮かぶ?
"output"
うーん、ねえ... どうだ。人間が宇宙を旅する物語だけど、ちょっと違うんだ。彼らはただの宇宙飛行士じゃないんだ。彼らは、自分たちと同じような存在でいっぱいの別の世界に住む、異なる種族の宇宙生物なんだ。
それから、彼らの船には、ある種の... うーん、まあ、時間や空間を操作できる装置があるんだ。でも、それはちょっとした問題も生んでるんだ。なぜなら、この装置を使ったり使わなかったりによって、現実そのものが変わってしまうんだ。
だから、物語は、人々がこの装置を使って、自分たちが知ってる世界を変えてみんなの生活を良くしようとしているんだ。でも、それはいつか、全てを台無しにしてしまうかもしれないんだ。
そして、もう一つ、重要なことさ。この装置を使ったり使わなかったりするのは、ただの機械じゃないんだ。それは、使い手の心の中にあるんだ。だから、誰かが悲しい時は、悲しい世界を作り出してしまうかもしれないし、幸せな時は、もっと幸せな世界を作り出してしまうかもしれない。
だから、ねえ、想像してみてくれ。君が今、ただの普通の日だったら、でも、ちょっとだけ不満があったら、世界を少し悪くしてしまったと思うんだ。でも、幸せだったら、世界をもっと良い場所に変えたと思うんだ。そういう感じさ。