How often do you truly think and reason before you speak? The current state-of-the-art LLM, GPT-4o, was already delivering impressive responses without taking much time to respond. But imagine if it started taking more time to think and build logic. With their latest model, o1, OpenAI has dropped a bombshell, introducing LLMs that can genuinely think and reason before responding—an ability that, until now, was considered unique to only a few humans!
OpenAI’s o1 is a new series of AI models designed to invest more time in thinking before generating a response. Outperforming all previous versions and even many humans on various platforms like the USA Math Olympiad (AIME), GPQA evaluation, and Codeforces, the o1 series marks OpenAI’s significant step toward AGI. The two models—OpenAI o1 and OpenAI o1-mini—excel in reasoning, science, coding, and mathematics!
So, in this blog, I decided to conduct some o1 experiments and put OpenAI o1 to the test! I carried out three experiments involving physics, chemistry, and biology, combined with the magic of math and coding, to serve you the perfect dish prepared by o1.
Read on to discover the results of my experiments with OpenAI o1.
The biggest challenge that people face when it comes to science is the lack of visualization! Imagine for most of us, the word “gravity” simply reminds us of an apple falling on Newton’s head. Visualization not only enhances the learning experience but helps us retain that lesson in our memory for a longer period. The idea of creating simulations/visualizations of scientific concepts isn’t really a breaking news. But the power to create these visualisations without writing a single line of code, to design interactive systems that go beyond following a set of rules while integrating logic & reasoning is definitely new.
With the Open AI’s o1 model, I did just that!
I presented one problem each from physics, chemistry, and Biology to OpenAI’s o1 model. The solutions to these problems required logical reasoning, mathematical calculations, and extensive coding, and o1 blew my mind with the results!
Before we move on to the o1 experiments, I recommend you go through our article on How to Access OpenAI o1!
Let me start with a quick revision of our solar system: It consists of 8 planets: Mercury, Venus, Earth, Mars, Jupiter, Uranus, Saturn and Neptune. The Sun is at the center of our solar system around which the planets revolve. Sounds simple right?
Now all these planets are at different distances from the sun and revolve around it in unique orbits, at different speeds. The speed of a planet around the sun is generally calculated using the following formula:
v = √(GM/r)
where:
Lets say you want to visualise the changes in velocity of a planet by changing the radius of the planet or the mass of the sun. All you need to do is prompt OpenAI’s o1 to write the code to build this visualisation.
I want to create a scientifically accurate simulation of our solar system with all 8 planets revolving around the Sun at their unique speeds. The simulation should include the following features:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Solar System Simulation</title>
<style>
/* Canvas styling */
#simulationCanvas {
background-color: #000;
display: block;
margin: 0 auto;
border: 1px solid #ccc;
}
/* Control panel styling */
#controls {
width: 800px;
margin: 20px auto;
color: #000;
font-family: Arial, sans-serif;
}
#controls table {
width: 100%;
border-collapse: collapse;
}
#controls td {
padding: 5px;
vertical-align: middle;
}
#controls label {
display: block;
margin-bottom: 5px;
}
input[type="range"] {
width: 100%;
}
h2 {
text-align: center;
color: #000;
}
</style>
</head>
<body>
<h2>Solar System Simulation</h2>
<canvas id="simulationCanvas" width="800" height="800"></canvas>
<div id="controls">
<table>
<!-- Sun Controls -->
<tr>
<td colspan="2"><strong>Sun</strong></td>
</tr>
<tr>
<td>
<label>Mass</label>
<input type="range" id="sunMass" min="1" max="100" value="100" step="1">
</td>
<td>
<label>Radius</label>
<input type="range" id="sunRadius" min="10" max="50" value="30" step="1">
</td>
</tr>
<!-- Planets Controls -->
<!-- Mercury -->
<tr>
<td colspan="2"><strong>Mercury</strong></td>
</tr>
Click here to find the full code.
To run this code, you just need to follow 3 steps:
Alternatively, you can directly play with the version I created. Do share in the comments what happened to jupiter’s speed when you maxed out on its radius?
While you marvel at this application, lets take a step back to understand what did OpenAI’s latest model did behind the scenes to bring my visualisation to life.
Now, that we are done with modeling our Solar system, let’s get some chemicals brewing.
There are thousands of acids and bases out there. It’s not always easy to remember which one of these reacts with each other and the chemical they create? Imagine if we knew the results that we could get before mixing two chemicals! It would probably save us from many burns or unfortunate accidents in the lab and might as well help our institutes save money over broken beakers and other equipment.
So my ask to Open AI o1 was to create a simulation in which we could pick an acid, a base, and their quantities and it would tell us how our product would look like.
Create a dynamic and interactive simulation involving three labeled beakers:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Acid-Base Reaction Simulation</title>
<style>
/* Styling for the simulation */
body {
background-color: #f0f0f0;
background-image: url('https://example.com/chemistry_lab_background.jpg'); /* Replace with an actual lab image URL */
background-size: cover;
font-family: Arial, sans-serif;
}
#simulationContainer {
display: flex;
justify-content: space-around;
align-items: flex-end;
margin-top: 20px;
}
.beaker {
width: 80px;
height: 150px;
border: 2px solid #333;
border-bottom: 0;
border-radius: 0 0 50% 50%;
position: relative;
overflow: hidden;
background-color: #fff;
}
.beaker-label {
text-align: center;
font-weight: bold;
color: #000;
margin-top: 5px;
}
.liquid {
width: 100%;
height: 0;
background-color: transparent;
position: absolute;
bottom: 0;
transition: height 1s ease;
}
Click here to find the full code.
To run this code, follow the same steps as mentioned above.
Alternatively, you can directly use the version I created.
Now, that our chemistry is sorted, it is time we head to our next o1 experiment!
The only thing separating us from machines is biology. Within biology lies the entire secret of mankind and at the core of biology lay proteins. Proteins are to humans what tokens are for LLMs. These proteins make up our body, brain and our entire nervous system helping us to comprehend and understand our surroundings. This is similar to how tokens build entire functionality of LLMs.
But there are practically limitless combinations of proteins possible! Hence its very difficult to remember the names and the use cases for each one of them.
So the task I gave OpenAI’s o1 was to create a simulation that could help me generate unlimited combinations of these proteins and learn their use cases.
Create an interactive Protein Builder Simulation with the following features:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Protein Builder Simulation</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
#builderContainer {
width: 1000px;
margin: 0 auto;
text-align: center;
}
#aminoAcidSelect {
width: 200px;
padding: 5px;
font-size: 16px;
}
#addButton, #removeButton {
padding: 5px 10px;
font-size: 16px;
margin: 10px 5px;
}
#chainDisplay {
margin: 20px 0;
font-size: 18px;
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
border: 1px solid #ccc;
padding: 10px;
}
.aminoAcid {
position: relative;
width: 100px;
height: 150px;
margin: 5px;
text-align: center;
}
.aminoAcid svg {
width: 100%;
height: 100%;
}
.aaLabel {
margin-top: 5px;
font-size: 14px;
}
#proteinInfo {
margin-top: 20px;
font-size: 16px;
}
Click here to find the full code.
To run this code, follow the same steps as mentioned above.
Alternatively, you can directly use the version I created.
This is amazing isn’t it! Never before could I imagine that identifying proteins and creating new ones could be so fun and easy.
This latest o1 model does impress with its capabilities in reasoning, logical thinking and coding. Yet, it has to take significant strides in adding features available in GPT4o like web browsing, uploading files or working with images. Till we see those improvements in o1 model, GPT 4o is still going to be the go to model for common tasks.
If you want to know more about the working of OpenAi’s o1 and o1-mini, read these articles:
I am impressed by the results I have seen in the above o1 experiments, with just a couple of hours in I could create 3 simulations for 3 different streams! o1 can potentially help millions of students who do not have the resources to actually experience the possibilities that science has to offer. Its going to be immensely beneficial for anyone who has an idea and wants the world to see it.
Although in the current version of the model we can’t add images or audio files but when that happens – this multimodailty is going to further enhance the possibilities that can be attained with this model. A truly generative future awaits us..
Stay tuned to Analytics Vidhya blog to know more about the uses of o1!
A. OpenAI o1—a new series of AI models designed to spend more time thinking before they respond. These models can reason through complex tasks and solve harder problems than previous models in science, coding, and math
A. OpenAI’s o1 model was launched on Sep 12, 2024.
A. Yes, the latest o1 models can process images although this functionality hasn’t been made live for public yet.
A. Currently only the paid members can use OpenAI’s o1 model.
A. The o1 series is trained with large-scale reinforcement learning allowing it to reason using chain of thought