モデル概要
モデル特徴
モデル能力
使用事例
🚀 TheProfessor-155b
TheProfessorは、事前学習された言語モデルをmergekitを使用してマージしたモデルです。幅広い会話、推論、科学、医学、数学のスキルを備えており、対話型のブレインストーミングや研究に役立ちます。
📄 ライセンス
TheProfessorはLlama 2のライセンスの対象となります。
属性 | 詳情 |
---|---|
モデルタイプ | 事前学習言語モデルのマージモデル |
ベースモデル | cognitivecomputations/dolphin-2.2-70b、WizardLM/WizardMath-70B-V1.0、migtissera/SynthIA-70B-v1.2b、epfl-llm/meditron-70b |
タグ | mergekit、merge |


ggufはこちらにあります。
TheProfessorはEric Hartfordによって作成され、WeyaxiとCharles Goddard、およびAbacusAIのGenerative AIチームの多大な支援を得ています。
TheProfessorは多くのことに使用できますが、主な焦点は、幅広い会話、推論、科学、医学、数学のスキルを備え、対話型のブレインストーミングや研究に役立つことです。概念の構想から実装まで、コードの作成や論文の執筆/レビュー/修正、引用などの支援が可能です。
マージ後に微調整は行われていません。
集約モデルの作成者に感謝と敬意を表します。
- cognitivecomputations/dolphin-2.2-70b
- WizardLM/WizardMath-70B-V1.0
- migtissera/SynthIA-70B-v1.2b
- epfl-llm/meditron-70b
🚀 クイックスタート
プロンプト形式
TheProfessorはChatMLプロンプト形式を使用します。
<|im_start|>system
You are TheProfessor, a helpful AI assistant.<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
例
<|im_start|>system
You are TheProfessor, a superintelligent AI assistant that is creative and able to invent new ideas.<|im_end|>
<|im_start|>user
Please give me ideas for my dissertation. My Ph.D. is Neuroscience, I like to focus on applied theory.<|im_end|>
<|im_start|>assistant
Ollama ModelFile
FROM "./TheProfessor_Q4_K_M.gguf"
TEMPLATE """<|im_start|>system
{{ .System }}<|im_end|>
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
SYSTEM """Your name is TheProfessor. You are a helpful AI assistant. You are creative and inventive, and you are willing to make your best guess, and help to brainstorm answers. Please draw upon your vast knowledge to answer the user's question to the best of your ability."""
PARAMETER num_ctx 32768
PARAMETER stop "<|im_end|>"
🔧 技術詳細
評価結果
{
"mmlu": 0.694,
"truthfulqa_mc2": 0.624,
"gsm8k": 0.4284
}
マージ詳細
マージ方法
TheProfessorはlinearマージ方法を使用してマージされました。
マージされたモデル
以下のモデルがマージに含まれています。
- cognitivecomputations/dolphin-2.2-70b
- WizardLM/WizardMath-70B-V1.0
- migtissera/SynthIA-70B-v1.2b
- epfl-llm/meditron-70b
設定
TheProfessorを生成するために以下のYAML設定が使用されました。
merge_method: linear # use linear so we can include multiple models, albeit at a zero weight
parameters:
weight: 1.0 # weight everything as 1 unless specified otherwise - linear with one model weighted at 1 is a no-op like passthrough
slices:
- sources:
- model: cognitivecomputations/dolphin-2.2-70b # embed_tokens comes along with the ride with whatever is the first layer
layer_range: [0, 1]
- model: migtissera/SynthIA-70B-v1.2b # add dummy second model with 0 weight so tokenizer-based merge routine is invoked for embed_tokens
layer_range: [0, 1]
parameters:
weight: 0
- sources:
- model: cognitivecomputations/dolphin-2.2-70b
layer_range: [1, 20]
- sources:
- model: migtissera/SynthIA-70B-v1.2b
layer_range: [10, 30]
- sources:
- model: WizardLM/WizardMath-70B-V1.0
layer_range: [20, 40]
- sources:
- model: epfl-llm/meditron-70b
layer_range: [25, 45]
- sources:
- model: cognitivecomputations/dolphin-2.2-70b
layer_range: [30, 50]
- sources:
- model: migtissera/SynthIA-70B-v1.2b
layer_range: [40, 60]
- sources:
- model: WizardLM/WizardMath-70B-V1.0
layer_range: [50, 70]
- sources:
- model: epfl-llm/meditron-70b
layer_range: [55, 75]
- sources:
- model: cognitivecomputations/dolphin-2.2-70b
layer_range: [60, 79]
- sources: # same as above, but for lm_head with the last layer
- model: cognitivecomputations/dolphin-2.2-70b
layer_range: [79, 80]
- model: migtissera/SynthIA-70B-v1.2b
layer_range: [79, 80]
parameters:
weight: 0
dtype: float16
tokenizer_source: model:cognitivecomputations/dolphin-2.2-70b # keep exact tokenizer used by dolphin - or you could use `union` if you add all of the input models to the first/last slice, but they would need to be non-zero weight or you'll get NaNs in your embeddings
💻 使用例
物理方程式の解釈
These equations appeared to me in a dream, I wrote them down as soon as I woke but I don't know what they mean. Can you please interpret them?
$$\mathcal{L}_{\text{gauge}} = -\frac{1}{4} F^{\mu\nu}F_{\mu\nu}$$
$$\langle \phi \rangle = \sqrt{\frac{\lambda}{2}}$$
$$S_{\text{gravity}} = \int d^4x \sqrt{-g} \left( \frac{R}{16\pi G} + \mathcal{L}_{\text{emergent}} \right)$$
$$\mathcal{L}_{\text{GEG}} = \mathcal{L}_{\text{gauge}} + \mathcal{L}_{\text{emergent}} + \mathcal{L}_{\text{matter}} + \mathcal{L}_{\text{interaction}}$$
$$\mathcal{L}_{\text{emergent}} = \lambda(g) + \kappa(g) R^2 + \ldots$$
$$S_{\text{GEG}} = \int d^4x \sqrt{-g} \; \mathcal{L}_{\text{GEG}}$$
$$\sigma = \sqrt{\langle | \phi | \rangle^2 + \frac{1}{4} \langle A^{\mu}A_{\mu} \rangle^2}$$
$$\langle A^{\mu} \rangle = (0, v(r)_{i}/\sqrt{2}, 0, 0)$$
$$\langle \phi \rangle = \langle \phi_0 \rangle + \delta\phi(x)$$
$$\langle A_{\mu} \rangle = (0, \frac{v(r)_{i}}{\sqrt{2}}, 0, 0)$$
$$g_{\mu\nu} = \eta_{\mu\nu} + \kappa h_{\mu\nu}$$
これらの方程式は理論物理学と宇宙論のさまざまな分野、ゲージ理論、重力の出現、アインシュタイン・ガウス・ボネット(EG)理論、ヒッグス機構、宇宙のインフレーション、重力波などに関連しています。以下は各方程式セットの簡単な説明です。
- ゲージ理論:
- 最初の2つの方程式は、ゲージ場$A$と自己相互作用するスカラー場$\phi$の観点から、ゲージ理論のラグランジアンとその基底状態を記述しています。ここで、$F$は場の強度テンソル、$\mathcal{L}$はラグランジアン密度、$\lambda$と$\kappa$は結合定数です。
- 重力の出現:
- 3番目と4番目の方程式は、重力が他の基本的な相互作用から有効な作用項$\mathcal{L}$の形で出現する現象を記述しています。ここで、$R$はリッチスカラー、$G$は重力定数、$g$は時空計量$g_{\mu\nu}$の行列式です。
- アインシュタイン・ガウス・ボネット(EG)理論:
- 5番目と6番目の方程式は、ゲージ、重力の出現、物質、相互作用の項を含むEG理論のラグランジアンを記述しています。ここで、$\mathcal{L}$は再びラグランジアン密度を表し、$\mathcal{L}_{\text{emergent}}$には、結合定数$\lambda(g)$を持つガウス・ボネット項や、定数$\kappa(g)$を持つリッチテンソルの二乗項、およびドットで表される他の項が含まれます。
- 宇宙のインフレーション:
- 7番目から10番目の方程式は、宇宙が加速膨張する宇宙のインフレーションのいくつかの側面を記述しています。ここで、$\sigma$はヒッグス場の絶対値の二乗とゲージ場の時間成分の二乗の組み合わせを表しています。11番目から13番目の方程式は、ヒッグス場の基底状態周りのゆらぎと、ゲージ場の真空値と小さな偏差を記述しています。
- 重力波:
- 最後の2つの方程式は、ミンコフスキー時空の周りの線形化された時空背景を記述しています。ここで、$h$は重力波のテンソルを表し、$\eta$はミンコフスキー計量、$\kappa$は重力定数です。
全体として、これらの方程式は理論物理学と宇宙論のさまざまな分野に関連しており、一見すると関連性がないように見えるかもしれませんが、すべて共通の目標を持っています。つまり、自然の基本的な力と宇宙の構造と進化をより深く理解することです。
各方程式セットの簡単な解釈を提供しましたが、それらの真の意味と影響を理解するには、これらの複雑なトピックに対する深い理解が必要であり、このAIの応答の範囲を超えています。これがあなたの興味深い夢に触発された方程式に対する洞察を得る手助けになれば幸いです。
P != NPの証明
In the pursuit to prove P != NP I want to try to prove that no polynomial-time algorithm could possibly solve all problems in NP, even though we may not know of any specific such problem that defies polynomial-time solution. Can you please make a lemma that would be helpful?
確かに!非計算的または証明論的手法を用いてP ≠ NPを証明するための1つの可能な方向は、決定不能命題として知られる特定の種類の数学的命題が、加法付きの一階論理(FO + M)などの多項式時間で検証可能な形式システムでは証明できないことを示すことです。言い換えると、これらの制限されたシステム内で表現または証明できることには固有の限界があることを示したいのです。ただし、人間の直感と洞察力の全能力によってそれらの真偽を見ることはできるかもしれません。
ディオファントス方程式(つまり、整数係数を持つ複数の変数の方程式)の領域でのこのような決定不能命題の簡単な例を次に示します。
def Goldbach_Conjecture(n): if n % 2 == 1 and n < 4: return True elif n > 4 and n % 3 == 1: m = (n - 1) // 2 return Goldbach_Conjecture(m) or Goldbach_Conjecture(n - m) else: return False
このPython関数は、与えられた偶数nを2つの素数の和として表すことができるかどうかをチェックします(2自体は含みません)。プロシアの数学者クリスチャン・ゴールドバッハにちなんで名付けられた有名な未解決のゴールドバッハ予想は、十分に大きなすべての偶数nについてこれが常に真であると述べています。しかし、多くの努力と非常に大きな値のnまでの広範な計算検証にもかかわらず、誰もこの予想を決定的に解決する証明または反例を見つけていません。
矛盾を導くために、入力nに対して多項式時間で実行されるアルゴリズムAがあり、すべての偶数nに対してGoldbach_Conjecture(n) == A(n)であると仮定しましょう。すると、このアルゴリズムを使用して、与えられた数nが素数か合成数(つまり、1とそれ自体以外の素数で割り切れる数)かを次のように判定することができます。
def Goldbach_Prime_Test(n): if n % 2 == 0 and n < 4: return True elif n > 4 and n % 3 == 1: m = (n - 1) // 2 return not Goldbach_Conjecture(m) or not Goldbach_Conjecture(n - m) else: return False
この関数は、nを2つの他の奇数の和として表そうとすることで、nが素数かどうかをチェックします。すべての偶数合成数を素数に因数分解できるという仮定により、そのうちの1つは合成数でなければなりません。すべての可能な分解でこの試みが失敗した場合、n自体が素数であると結論付けます。
ただし、与えられた数が素数か合成数かを判定することはNP困難問題であることが知られており、つまり、すべての数を素数または合成数として常に正しく分類できる多項式時間アルゴリズムは存在せず、P = NPでない限りは存在しません。これは矛盾を引き起こします。なぜなら、元の仮定したアルゴリズムAは、素数判定問題の多項式時間解を提供することになり、P ≠ NPが成り立つ場合、これは存在しないことがわかっているからです。
したがって、背理法により、ディオファントス方程式の領域(具体的には、すべての偶数を2つの素数の和として表すことができるかどうか)には、加法付きの一階論理などの多項式時間で検証可能な形式システム内では証明または反証できない少なくとも1つの決定不能命題が存在することを示しました。この結果は、直接的にP ≠ NPを意味するわけではありませんが、伝統的なチューリングマシンベースの複雑性理論を超えた非計算的または証明論的手法を活用することで、この千年賞問題に対する否定的な答えを得るための1つの可能な戦略を示しています。
この補題を使用してP ≠ NPを証明する次のステップ
Given the previous example of an undecidable statement in Diophantine equations that cannot be proven or refuted within any polynomial-time verifiable formal system like first-order logic with addition (FO+M), it's still a long and difficult journey towards establishing P ≠ NP in general. However, if we could somehow show that any algorithmic solution to an NP-complete problem (i.e., one that can reduce all other NP problems to itself in polynomial time) would also allow us to solve this particular undecidable statement in FO+M within polynomial time, then by proof-by-contradiction, we could conclude that no such algorithmic solution exists and hence P ≠ NP.
加法付きの一階論理(FO + M)などの多項式時間で検証可能な形式システム内では証明または反証できないディオファントス方程式の決定不能命題の前の例を考えると、一般的にP ≠ NPを確立するにはまだ長く困難な道のりがあります。しかし、NP完全問題のアルゴリズム的解(つまり、すべての他のNP問題を多項式時間で自身に還元できる解)が、この特定のFO + Mの決定不能命題を多項式時間で解くことも可能にすることを何らかの方法で示すことができれば、背理法により、そのようなアルゴリズム的解は存在しないと結論付けることができ、したがってP ≠ NPとなります。
以下は、進めるための大まかなアウトラインです。
任意のNP完全問題Lを、選択したFO + Mの決定不能命題Gに還元する(つまり、L ≤P Gを示す): このステップでは、LのインスタンスからGの対応するエンコードされたインスタンスへの多項式時間の多対一還元fを構築する必要があります。つまり、すべてのxに対して、L(x) ≢ G(f(x))です。たとえば、部分和問題のインスタンス(a, b, k)を、適切に選択されたcとmを用いて、ディオファントス方程式sum(a_i * 2^i) = 2^k + c modulo mとしてエンコードしようとすることができます。この方程式は、{a_1, ..., a_{|a|}}の部分集合Sが存在し、sum(a_i for i in S) = bである場合にのみ解を持ちます。しかし、このようなエンコードfを見つけることができたとしても、これがどのように直接的にP ≠ NPを証明するのに役立つかはまだ不明です。なぜなら、G自体はFO + M内で決定不能であり、したがって任意の固定された時間制限で実行されるアルゴリズムによって決定することはできないからです。
選択したディオファントス方程式の未解決問題U(つまり、与えられたディオファントス方程式が整数解を持つかどうかを判定する問題)をGに還元する: このステップでは、任意の与えられたディオファントス方程式F(x_1, ..., x_n)に対して、ある計算可能関数f'によってU(F) ≢ G'(f'(F))となる別のディオファントス方程式G'(x_1', ..., x_m')が存在することを示す必要があります。非形式的に言うと、このステップにより、



