From: Cameron Otsuka Date: Mon, 27 Jan 2025 22:09:08 +0000 (-0800) Subject: add r1 vs. o1 post X-Git-Tag: v1.0.0~63 X-Git-Url: https://git.otsuka.systems/?a=commitdiff_plain;h=92c31993ce8fdf63f936b1f7c5e5b7294de3abc9;p=cotsuka.github.io add r1 vs. o1 post --- diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.md b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.md new file mode 100644 index 0000000..237dd80 --- /dev/null +++ b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.md @@ -0,0 +1,64 @@ +--- +title: "R1 vs. o1: AI as Commodity or Moat" +date: 2025-01-27 +modified: 2025-01-27 +description: Is DeepSeek's R1 an existential threat to OpenAI? +tags: +- ai +--- + +{% image "./us-china-ai-model-enjoyers-dabbing-dude.jpg", "US - China AI model enjoyers Dabbing Dude meme" %} + +DeepSeek announced the release of its R1 reasoning model[^1] a day before the US announced it would use its executive power to secure the infrastructure needs for a joint venture between OpenAI (developers of the o1 reasoning model), Microsoft, Oracle, and Softbank, titled "Stargate"[^2]. + +A few days later, markets have taken this as an existential threat to OpenAI's dominance and energy/compute demand. This is a shot across the bow from DeepSeek and zooming out, represents the economic tug-of-war between China and the US, but I don't think it spells disaster for the US' ambitions -- if US companies can continue pushing the performance frontier. + +
+ {% image "./nvda-2025-01-27.png", "NVDA price action on 2025-01-27" %} +
Nvidia was down ~17% by end of day on the news.
+
+ +## The Facts +DeepSeek trained R1 for an estimated $5.6MM on A100 and H800 GPUs (not the latest-and-greatest GPUs available). End-user inference pricing is an order of magnitude cheaper than o1. + +
+ {% image "./input-output-pricing.jpg", "Input/Output Pricing for o1-Class Inference Models ($/1M Tokens)" %} +
Source: @RnaudBertrand
+
+ +Despite less capital expenditure, R1 has comparable performance to o1 due to several technical innovations. I don't pretend to deeply understand everything on this front, so instead I'll direct you to this post by XX, who made a good breakdown of what's happening under the hood. Ultimately, R1 is essentially a drop-in replacement for o1. + +
+ {% image "./r1-o1-benchmarks.jpg", "Accuracy / Percentile (%) by Benchmark" %} +
Source: DeepSeek-AI
+
+ +This is incredible for the little guy: run your own model, privately, without the need for massive infrastructure. + +
+ {% image "./r1-on-iphone-localghost.gif", "R1 running locally on an iPhone" %} +
A distilled version of R1 running locally on an iPhone. Source: @localghost
+
+ +## Is OpenAI Cooked? +First, the threshold for publicly available, open-source reasoning models will never be lower than this. HuggingFace is attempting to reproduce R1 fully in the open[^3] which would make it an end-to-end public frontier model. I think this is a win for society. + +Second, everyone should be significantly shortening their anticipated AI development timelines. The initial market reaction was a first order reaction (80% less compute! 80% less chip demand!) but I don't see why energy infrastructure and chip manufacturing demand would be negatively impacted. I'd more likely guess this is a [Jevon's paradox](https://en.wikipedia.org/wiki/Jevons_paradox) situation, where the excess capacity is immediately saturated to advance model performance at a now more rapid pace. + +It's clear with the amount of investment the US and companies are ploughing into OpenAI, their vision for the future is one where OpenAI has the highest horsepower model and defends its moat simply by having the smartest, fastest, best model. Value capture in this version of the world accrues to the model developers. + +China's approach, exemplified by R1, envisions a future with commodity AI models used as building blocks within other applications. Incentivizing open development of models with comparable performance to private frontier models ensures the US *can't* develop an AI moat. China codified this objective in 2017 with the release of their, ["New Generation Artificial Intelligence Development Plan" (translated)](https://digichina.stanford.edu/work/full-translation-chinas-new-generation-artificial-intelligence-development-plan-2017/). Some sections that stood out to me: + +> *Open-Source and Open.* Advocate the concept of open-source sharing, and promote the concept of industry, academia, research, and production units each innovating and in principal pursuing joint innovation and sharing. Follow the coordinated development law for economic and national defense construction; promote two-way conversion and application for military and civilian scientific and technological achievements and co-construction and sharing of military and civilian innovation resources; form an all-element, multi-domain, highly efficient new pattern of civil-military integration.[^4] + +> **(2) Optimize arrangements to build AI innovation bases** +> Guide existing AI-related national focus laboratories, corporate national focus laboratories, national engineering laboratories, and other such bases, and conduct research focused on an advanced direction of a new generation of AI.[^5] + +I don't think it's a stretch to compare OpenAI's business model with that of IBM in the 80s and 90s[^6]. History shows tech advancements trend towards commoditization. We'll see if the US' investments can buck the trend. + +[^1]: [🚀 DeepSeek-R1 is here!](https://x.com/deepseek_ai/status/1881318130334814301) +[^2]: [Announcing the Stargate Project](https://openai.com/index/announcing-the-stargate-project/) +[^3]: [Open R1](https://github.com/huggingface/open-r1) +[^4]: [Full Translation: China’s ‘New Generation Artificial Intelligence Development Plan’ (2017)](https://digichina.stanford.edu/work/full-translation-chinas-new-generation-artificial-intelligence-development-plan-2017/#:~:text=Open-Source%20and,a%20global%20scale.) +[^5]: [Full Translation: China’s ‘New Generation Artificial Intelligence Development Plan’ (2017)](https://digichina.stanford.edu/work/full-translation-chinas-new-generation-artificial-intelligence-development-plan-2017/#:~:text=(2)%20optimize%20arrangements%20to%20build%20ai%20innovation%20bases) +[^6]: [History of IBM - 1975–1992: Information revolution, rise of software and PC industries](https://en.wikipedia.org/wiki/History_of_IBM#1975%E2%80%931992:_Information_revolution,_rise_of_software_and_PC_industries) \ No newline at end of file diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/input-output-pricing.jpg b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/input-output-pricing.jpg new file mode 100644 index 0000000..1cd444e Binary files /dev/null and b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/input-output-pricing.jpg differ diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/nvda-2025-01-27.png b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/nvda-2025-01-27.png new file mode 100644 index 0000000..f03a869 Binary files /dev/null and b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/nvda-2025-01-27.png differ diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/r1-o1-benchmarks.jpg b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/r1-o1-benchmarks.jpg new file mode 100644 index 0000000..d1fd67e Binary files /dev/null and b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/r1-o1-benchmarks.jpg differ diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/r1-on-iphone-localghost.gif b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/r1-on-iphone-localghost.gif new file mode 100644 index 0000000..e220102 Binary files /dev/null and b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/r1-on-iphone-localghost.gif differ diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/us-china-ai-model-enjoyers-dabbing-dude.jpg b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/us-china-ai-model-enjoyers-dabbing-dude.jpg new file mode 100644 index 0000000..bee6b11 Binary files /dev/null and b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/us-china-ai-model-enjoyers-dabbing-dude.jpg differ diff --git a/eleventy.config.js b/eleventy.config.js index a2b1cfd..86e2923 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -4,9 +4,17 @@ const { feedPlugin } = require("@11ty/eleventy-plugin-rss"); const eleventyImagePlugin = require("@11ty/eleventy-img"); const eleventySyntaxHighlightPlugin = require("@11ty/eleventy-plugin-syntaxhighlight"); const globalMetadata = require("./_data/metadata.json"); -const markdownIt = require("markdown-it")(); +const markdownIt = require("markdown-it"); +const markdownItFootnote = require('markdown-it-footnote'); const path = require("path"); +let markdownOptions = { + html: true, + breaks: true, + linkify: true, +}; +let mdLibrary = markdownIt(markdownOptions).use(markdownItFootnote); + function relativeToInputPath(inputPath, relativeFilePath) { let split = inputPath.split("/"); split.pop(); @@ -64,9 +72,9 @@ module.exports = function (eleventyConfig) { "callout", function (content, level = "", format = "md", customLabel = "") { if (format === "md") { - content = markdownIt.renderInline(content); + content = mdLibrary.renderInline(content); } else if (format === "md-block") { - content = markdownIt.render(content); + content = mdLibrary.render(content); } else if (format === "html") { content = content } @@ -145,7 +153,11 @@ module.exports = function (eleventyConfig) { let metadata = await eleventyImagePlugin(input, { widths: [360, 720], - formats: ["svg", "avif", "jpeg"], + formats: ["svg", "avif", "jpeg", "gif"], + sharpOptions: { + animated: true, + limitInputPixels: false, + }, urlPath: "/img/", outputDir: path.join(eleventyConfig.dir.output, "img"), }); @@ -155,15 +167,16 @@ module.exports = function (eleventyConfig) { sizes: "360w, 720w", loading: "lazy", decoding: "async", + "eleventy:ignore": "", }; let options = { pictureAttributes: {}, whitespaceMode: "inline", }; - return eleventyImagePlugin.generateHTML(metadata, imageAttributes, options); }); + eleventyConfig.setLibrary("md", mdLibrary); return { templateFormats: [ "md", diff --git a/package.json b/package.json index 199a4cf..1d5ca7e 100644 --- a/package.json +++ b/package.json @@ -12,10 +12,11 @@ "description": "", "dependencies": { "@11ty/eleventy": "^3.0.0", - "@11ty/eleventy-img": "^4.0.2", + "@11ty/eleventy-img": "^6.0.1", "@11ty/eleventy-plugin-rss": "^2.0.1", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "clean-css": "^5.3.3", - "luxon": "^3.4.4" + "luxon": "^3.4.4", + "markdown-it-footnote": "^4.0.0" } }