OlmoEarth v1.3: INSANE Satellite AI or Fooled by WINTER? I Tested It on My RTX 4060
Read the Portuguese translation →
Author: Prompt Engineer 48 · Watch on YouTube
Video authored by the channel shown, not by IANIA; all rights belong to the creator. Transcript and summary generated automatically; the original-language content is preserved.
Original language: English
Original video: OlmoEarth v1.3: INSANE Satellite AI or Fooled by WINTER? I Tested It on My RTX 4060 · Channel: Prompt Engineer 48 · 09:47 · Watch on YouTube
Topics: AI evaluation and benchmarks, Data, databases and embeddings, Local and open-source models, Multimodal models
Summary
Section titled “Summary”The video tests whether OlmoEarth v1.3 embeddings can distinguish real land-cover change from seasonal variation, using satellite imagery of a Peruvian mine and an Iowa farm. The model runs on the creator’s RTX 4060, using about 749 MB of GPU memory and processing each chip in about 1.6 seconds. In the mine, embedding distances highlight forest clearing, while the Iowa comparison shows that embeddings reduce—but do not eliminate—seasonal differences: a summer-to-winter comparison still triggers many false alarms. The creator cautions that this is a small sanity test using encoder features rather than the official 128-number embeddings, and recommends comparing images from the same season.
Key points
Section titled “Key points”- OlmoEarth v1.3 produces learned satellite-image representations, or embeddings, from Sentinel-1, Sentinel-2, and Landsat data.
- AI2 reports that the model’s 128-number version leads on 20 of 27 evaluations, but the creator did not reproduce those benchmarks.
- The creator loaded the v1.3 weights locally because the repository’s model list stopped at v1.2.
- On an RTX 4060 with 8 GB, model loading used about 749 MB of GPU memory, and a 3.8 km² chip took about 1.6 seconds to process.
- The experiment used 768-dimensional encoder features, not the official 128-number release embeddings.
- For the Peruvian mine, changed pixels had higher average distances than stable forest; however, the vegetation-based answer key also made raw pixel comparison score almost perfectly.
- Stable areas can still have nonzero distances, so the creator recommends measuring a baseline on known unchanged ground before setting a threshold.
- The Iowa farm’s July-to-February comparison had a higher average distance than July-to-August, despite no land-cover change.
- Using a threshold based on stable forest, 16.5% of Iowa farm pixels triggered a change alarm in the summer-to-winter comparison.
- The creator recommends comparing images from the same season and emphasizes the test’s limited scope: one mine, one farm, and a non-official embedding representation.
Chapters
Section titled “Chapters”| Start | Chapter | Summary |
|---|---|---|
| 00:00 | OlmoEarth embeddings and the model’s claims | The creator introduces the seasonal-change question, explains embeddings, and summarizes AI2’s reported model results and available global data. |
| 03:22 | Running the model and building change maps | The creator tests v1.3 on an RTX 4060, describes the satellite imagery and feature-extraction method, and explains cosine-distance heat maps. |
| 05:34 | Test one: detecting forest clearing | The mine comparison shows higher embedding distances for cleared forest, alongside caveats about the answer key and already-bare ground. |
| 07:07 | Test two: seasonal changes and practical limits | The Iowa farm comparison shows that embeddings reduce seasonal differences but still produce winter-related false alarms, leading to a recommendation to compare the same season across years. |
Quotes
Section titled “Quotes”So, can these embeddings tell a real change from a boring seasonal one? — 00:00
GPU memory after loading, 749 MB. — 03:54
That test can’t show the model is better than raw colors. — 06:36
The bad news, it doesn’t remove it. — 08:42
compare the same season across years, July to July, not July to February. — 08:42
Concepts and entities
Section titled “Concepts and entities”OlmoEarth v1.3, embedding, cosine distance, Sentinel-1, Sentinel-2, Landsat, allenai/olmo-earth-pretrain, AI2, RTX 4060, Embeddings Explorer, Alpha Earth Foundations, Tessera v2
Full transcript (original language)
Section titled “Full transcript (original language)”00:00 This is the same patch of Peruvian rainforest 7 years apart. On the left, 2017 forest with a mine already eating the corner. On the right, 2024, the mine has crawled into the trees, and this heat map is not me drawing. It’s an AI model comparing the two dates, and it lights up right where the forest was cut. But here’s my doubt. Satellites see the same place change every season. Fields go green, then brown, then white with snow. So, can these embeddings tell a real change from a boring seasonal one? That’s what I’m going to test on my own laptop GPU with Alma Earth version 1.3.
00:36 >> [music] >> Quick background, because the whole video hangs on this word. An embedding is a short list of numbers that describes a place, not red, green, blue, a learned summary. Two places that look and behave alike get lists that are close together, and two different places get lists that are far apart. According to AI2’s Hugging Face article, Alma Earth version 1.3 makes 128 numbers for every 10 m pixel from a year of satellite data. It reads Sentinel-1 radar, Sentinel-2 multispectral, and Landsat. And they say you can keep just
01:10 the first 64 numbers if you want it smaller. Under the hood, per the model card, it’s a vision transformer with about 128 million parameters, plus a small attention puller, and a tiny linear layer that squeezes everything down to those 128 numbers. The weights file is about 785 MB. Keep that number in mind because it matters for my graphics card later. Now, what does AI2 claim? I’m reading these off their article, and I haven’t reproduced them. They compare against two other satellite embedding models, Alpha Earth Foundations and Tessera version two, across 27 evaluations on six continents.
01:44 They say the 128 number version scores highest on 20 of the 27, and the 64 number version leads on 18. They also introduce a crop benchmark for tropical farming, and say the embeddings generalize best to places a classifier has never seen. That last part is the one I care about because it’s the same worry as my Seasons question. Does it work somewhere new? The cost story is the surprising one. They say training used 53% of the compute of version 1.2 and 18% of version 1. In rented H100 dollars, about 2,720 for the final run
02:17 against 5,100 for 1.2 base and 15,060 for version 1 base. So, newer apparently better and a lot cheaper to train. I can’t verify the training bill, but the direction is a claim worth noting. One more thing, the license is the Alma Earth artifact license, the same as earlier versions, and AI2 describes the weights, the pre-training data, and the pre-training code as open. Check the license text yourself before you build a product on it. The good news is you might not need to run the model at all. AI2 published ready-made yearly embeddings for the whole planet. 2023, 2024, and 2025 are global, and some
02:51 countries go back to 2017. They say it’s roughly 150 terabytes per year hosted on Source Cooperative, and there’s a browser tool, Embeddings Explorer. You pan around, compare years, find similar places, and train a small classifier from points you click. No account. And look at the example they use for change detection, La Pampa in Peru, where illegal gold mining ate into the forest. That’s AI2’s example, not mine. But it gave me the idea for my own test. I went and found a mining area in that same Madre de Dios region on Sentinel 2. It’s
03:22 not La Pampa itself, but it’s the same kind of change. Can this run on a normal graphics card? I have an RTX 4060 with 8 GB. The repo is allenai/olmo-earth-pretrain, and the inference install is light, torch, einops, huggingface hub. One snag, the repo’s model list stops at version 1.2, so I downloaded the 1.3 weights from huggingface and loaded them from a local folder. That worked. Here’s the real log. Model load, about 10 seconds. GPU memory after loading, 749 MB. Then each 3.8 km squared chip,
03:54 that’s 36 tiles, takes about 1.6 seconds. So, 8 GB is plenty, and I didn’t need to rent a GPU. For imagery, I used the free Sentinel 2 archive on AWS, no login, two sites, a mine in Madre de Dios, Peru, dated August 2017, August 2024, and August 2025, and a farm in Iowa, July 14th, August 13th, and February 27th, all 2025. One honest note on method, I used the model’s encoder features, 768 numbers
04:28 per patch, average over bands. That’s not exactly the 128 number release embedding. So, treat my numbers as a test of the model’s features, not a test of the official product. Let me show you exactly how I get from embeddings to that heat map, because it’s simple and you can copy it. I cut each image into small tiles, 64 pixels on a side, because the repo recommends inputs between 1 and 128 pixels. Then, the model looks at the tile in patches of 4 by 4 pixels. At 10 m a pixel, that’s a 40 m square. Each patch comes out as a list of 768 numbers. Do that for the old image and
05:02 the new image. Now, for each 40 m square, I have two lists. I measure the angle between them. That’s called cosine distance. If the two lists point the same way, the distance is zero. The model thinks it’s the same kind of place. If they point in different directions, the distance grows. Paint that number as a color and you get the heat map. Two things to know. First, the model is looking at pixels in context, not one pixel at a time. So, fields edge can glow a little even when the field itself didn’t change. Second, the colors only mean something relative to each other,
05:34 so I use the same color scale for every map in this video. Otherwise, a dark map in one place could look as scary as a bright map in another. Test one, real change. I need a fair answer key, so I made one from vegetation. Pixels that were dense forest in 2017 and bare ground in 2024 count as change. Forest in both years counts as stable. Now, the model’s change score, that’s a distance between the two embeddings at each spot. For the changed pixels, the average distance is 0.64. For stable
06:04 forest, it’s 0.25. So, cleared forest scores about 2 and 1/2 times higher. If I ask how well that score ranks change against stable, the area under the curve is .99. Same story from 2017 to 2025 .65 against .27. Between 2024 and 2025, a small area change, 174 tokens, and it still scores .54 against .16. So, on real clearing, yes, this works. But, before you get excited, one caveat. My answer key comes from the same pixel
06:36 values. So, a dumb pixel comparison also scores almost perfect. That test can’t show the model is better than raw colors. It only shows the model isn’t missing the clearing. And as a second catch, ground that was already bare in 2017 and still bare in 2024 also scores .41. That’s high. Active minds get reshaped, pits move, ponds appear. So, some of that may be real, but it means a high score does not automatically mean forest loss. Before the farm, one more number because it changes how you read everything so far.
07:07 Even when nothing changes, the distance is never zero. Stable forest between 2024 and 2025 scores .16. Stable forest between 2017 and 2024 scores .25. And the Iowa farm, July to August, scores .14. So, the quiet floor moves around depending on the pair of dates, the haze, and the place. That’s why I set my alarm threshold from stable forest instead of picking a round number. If you try this yourself, measure a floor on ground you know did not change in the same scene before you trust any threshold.
07:39 Test two is the one I was nervous about. Same Iowa farm, no land cover change at all. The fields are still fields, but July is green and February is bare brown soil. First July against August, same season, average distance .14. Quiet. Look at the map, mostly dark, a few fields lit. Now, July against February, same place, same land use, complete different colors. Average distance .35, that’s 2 and 1/2 times higher than July to August. Here is the fair way to read it. In raw reflectance, the July to February change
08:11 is 36 times bigger than July to August. In the embedding, it’s only two and a half times. So, the model squeezes the seasonal swing a lot. That’s the good news. The bad news, it doesn’t remove it. I set a threshold from the forest data, the 95th percentile of stable forest 0.43, use that as a real change alarm. In the mine, 97.5% of the truly changed pixels are above it. In Iowa, July to August, under 1% trip it, great. But in Iowa, July to February, 16.5% of the farm trips the
08:42 alarm for a change that is only the season. So, the answer to my question is mostly not perfectly. Embedding separate real clearing from a season much better than raw colors do. But if you compare a summer image to a winter image and apply a single threshold, you’ll still get about one in six false alarms in this example. So, here’s my practical read. If you want change detection with these embeddings, compare the same season across years, July to July, not July to February. That’s where it was quietest in my test. Limits, in plain words, one
09:15 mine, one farm, one date pair each, a vegetation-based answer key, and coder features, not the official 128 number product. And I did not reproduce the 27 benchmark claim. So, this is a sanity test, not a benchmark. What I did learn is that you don’t need a data center to poke at this 749 megabytes of GPU memory, 1.6 seconds a chip on a laptop. If you’re looking for cheap and reliable GPUs, I use RunPod, and the link is in the description. If you want me to try the same test on the season-matched time
09:47 series or on the embeddings explorer itself, tell me in the comments which place should I check next.