先人による以下のブログ記事を参考にさせていただいています。
金のニワトリさん:1.58-bit版DeepSeek R1の日本語性能評価
https://zenn.dev/robustonian/articles/deepseek_r1-ud-iq1_s
https://zenn.dev/robustonian/articles/deepseek_r1-ud-iq1_s
npakaさん:DeepSeek R1 Dynamic 1.58-bit の概要
https://note.com/npaka/n/na1126a4e5fdaunsloth: Run DeepSeek R1Dynamic 1.58-bit
最初にDeekSeek-R1-GGUFのIQ1_Sをダウンロードします。親切にLikely too large for this macと教えてくれますが、構わずダウンロードします。
K Cache Quantization Typeにチェックを入れQ4_0を選択しています。
以上の設定でDeepSeek-R1 UD IQ1_Sをロードしています。
関数 f(x) = x^2 - 4x + 3 の最小値を求めよ。
V Cache Quantization Typeを設定すると以下のようなエラーが発生するため、使用できませんでした。もちろんflash_attnはオンにした上でV Cache Quantization TypeにQ4_Oを設定しています。
LM Studioにモデルをロードすると、すごい勢いでメモリ使用量が増加します。メモリプレッシャーの表示が黄色になると、もともと遅いのにさらに遅くなります。LM Studio以外の実行中のアプリをすべて停止する必要がありました。画面収録のために、QuickTime Playerは動かしています。
以下のプロンプトを入力しました。
関数 f(x) = x^2 - 4x + 3 の最小値を求めよ。
以下は1秒で1枚のGIF動画です。
<think>
まず、問題を見てみましょう。関数f(x)=x²-4x+3の最小値を見つける必要があります。
最初に、これは二次関数で、グラフが上向きか下向きかを判断するために係数を確認しますね。x²の項の係数は1ですから正の数なので、放物線は上に向かって開きます。つまり頂点は最低点になり、最小値があることになります。
次に、その頂点を見つけることが必要ですね。一般的な二次関数y=ax²+bx+cにおいて、頂点の座標は(-b/(2a), f(-b/(2a)))で求められることを覚えていますか?この式ではaが1、bが-4なので、まず頂点のx座標を計算します。
つまり、x = -(-4)/(2*1) = 4/2=2。これが頂点のx座標です。次にf(2)の値を求めます:f(2)= (2)^2 -4*(2)+3 → 4-8+3 ⇒ (-4)+(+3)=-1。なので、この関数はx=2で最小値-1を取ると分かりますね。
でも確認として導関数を使っても良いかもしれません。微分するとf'(x)=2x−4。これを0に置くと解く:2x−4=0 ⇒ x=2。これも同じ結果ですね。そして、この時点の前後で符号が変わるかを確かめると、例えばx<2では導関数は負(例: f'(1)= -2)、x>2では正(f'(3)=+2)なので、x=2で極小値を持つことが分かる。
これに加えて頂点の座標を求めることで最小値を確定できる。二次関数が上向きであるため、その最低値が存在し、それが-1です。
</think>
ステップバイステップで解説します:
**Step 1: 確認する関数**
与えられた関数はf(x) = x² -4x +3。
**Step 2: 二次関数の形状を判断**
係数a=1(正)なので放物線は上に開き、最小値が存在。頂点が最低点となる。
**Step 3: 頂点の座標を見つける方法**
一般式y = ax² + bx + cの場合、
頂点x座標:
\[ x_v = -\frac{b}{2a} \]
この場合:
\[ x_v = -\frac{-4}{2×1} = \frac{4}{2}= 2\]
**Step 4: 最小値の計算**
f(x_v)= f(2)
\[ f(2) = (2)^2 -4×(2)+3=4-8+3=-1\]
よって、頂点は(2, -1)
**結論:この関数の最小値はx=2における-1**
補足として導関数による確認も可能:
f'(x)=2x−4。
f'(x)=0 ⇒ x=2。
符号変化からここで極小値を取るため、やはり同じ結果。
したがって**最小値=-1(x=2)にて達成される**
OpenAIのo1は数秒で回答しました。
今回の記事は以上になります。
完