Latest / Satellite image deep learning / Building OlmoEarth: AI2’s Open Foundation Model for Satellite Imagery
Transcript
- 0:05SPEAKER_01: Hi Joe, welcome to the podcast.
- 0:07SPEAKER_00: Hello, thanks for having me.
- 0:10SPEAKER_01: Let's begin with a brief intro to yourself.
- 0:13SPEAKER_00: Yeah, my name is Joe.
- 0:15I've been working in computer vision and sort of machine
- 0:19learning research for,
- 0:21SPEAKER_00: you know,
- 0:22SPEAKER_00: I don't know,
- 0:23SPEAKER_00: since about 2013 when I started grad school,
- 0:25SPEAKER_00: I guess.
- 0:27SPEAKER_00: I work now at the Allen Institute for Artificial Intelligence, AI2.
- 0:32I've been working recently on geospatial foundation models,
- 0:35which is why I'm here today.
- 0:38SPEAKER_01: Fantastic.
- 0:39SPEAKER_01: For people that are not familiar with AI2, what's its general remit?
- 0:44SPEAKER_00: Paul Allen started AI2.
- 0:45Paul Allen,
- 0:46one of the co-founders of Microsoft,
- 0:49started AI2 I think about 12 years ago.
- 0:53And he was interested basically in artificial intelligence for
- 0:58solving big real-world problems.
- 1:00I think it's something like AI for the world's biggest
- 1:03challenges or something like that.
- 1:06it's it's gone through a lot of different sort of phases over
- 1:10its existence but
- 1:12SPEAKER_00: these days it focuses a lot on
- 1:16SPEAKER_00: open ecosystem stuff,
- 1:18SPEAKER_00: so open language models,
- 1:20SPEAKER_00: open vision models,
- 1:21sort of training things in the open so people can understand
- 1:24how these things are
- 1:25SPEAKER_00: trained,
- 1:25SPEAKER_00: what kind of data goes in,
- 1:26SPEAKER_00: what kind of compute,
- 1:27SPEAKER_00: that kind of stuff.
- 1:28It also has a number of AI for science initiatives,
- 1:33so working on AI for cancer research,
- 1:35AI for
- 1:37SPEAKER_00: general scientific research, those sorts of things, paper discovery.
- 1:41And then I fall under kind of the AI for the environment,
- 1:47AI for climate push that AI2 is doing.
- 1:51SPEAKER_00: So as part of that,
- 1:52SPEAKER_00: there are a number of different projects that AI2 is working on,
- 1:56SPEAKER_00: but there is the climate modeling team,
- 1:59SPEAKER_00: which is just trying to do sort of standard climate modeling stuff,
- 2:04SPEAKER_00: but augmenting it using AI.
- 2:07SPEAKER_00: There's projects like Earth Ranger,
- 2:09SPEAKER_00: tracking sort of endangered species,
- 2:12SPEAKER_00: Skylight,
- 2:13SPEAKER_00: looking for illegal,
- 2:15SPEAKER_00: unregulated fishing,
- 2:17SPEAKER_00: and then Ulmo Earth.
- 2:20SPEAKER_01: So that's probably a great time to learn a bit more about Ulmo Earth.
- 2:25SPEAKER_00: Yeah,
- 2:25SPEAKER_00: so Omaha actually came out of all of these other initiatives,
- 2:29SPEAKER_00: basically things like Earth Ranger and Skylight.
- 2:32AI2 had a bunch of partnerships already with these external
- 2:35organizations that were
- 2:37SPEAKER_00: trying to solve various problems.
- 2:39SPEAKER_00: And one of the things that people kept
- 2:41SPEAKER_00: coming back to was this need for analyzing satellite data,
- 2:45SPEAKER_00: geospatial data,
- 2:47and the lack of expertise in a lot of these non-profits and
- 2:53NGOs that we were
- 2:53SPEAKER_00: working with in doing this kind of problem solving.
- 2:58SPEAKER_00: So the Olmour Earth Project started about a year and a half ago.
- 3:03SPEAKER_00: Some of the people who were working on Skylight,
- 3:05SPEAKER_00: actually,
- 3:05SPEAKER_00: because Skylight also uses Sentinel-1 and Sentinel-2 data,
- 3:11some of the researchers who were working on Skylight decided it
- 3:13would be a good
- 3:13idea to build a more general purpose foundation model for
- 3:18geospatial images.
- 3:20SPEAKER_00: They started the Old North Project and since then it's grown pretty fast.
- 3:24SPEAKER_00: I think we have about 20 or 30 people working on the project as a whole,
- 3:28SPEAKER_00: about six people working on the foundation model itself.
- 3:31SPEAKER_00: And the idea is basically,
- 3:33SPEAKER_00: you know,
- 3:33SPEAKER_00: build a really good foundation model,
- 3:35SPEAKER_00: just kind of like what everyone's doing,
- 3:36SPEAKER_00: and then partner with a lot of other organizations who have
- 3:40data,
- 3:40who have expertise,
- 3:42who have some problem that they're trying to solve in the real
- 3:45world.
- 3:45SPEAKER_00: So a lot of things like agriculture,
- 3:48SPEAKER_00: trying to understand what crops are growing,
- 3:51SPEAKER_00: how well they're doing,
- 3:53SPEAKER_00: wildfire risk,
- 3:54SPEAKER_00: trying to model what forests are in danger,
- 3:58SPEAKER_00: where resources could be allocated.
- 4:01And then a lot of smaller projects like mapping all of the
- 4:05ecosystems of the world or
- 4:08mapping where all of the mangroves are and how the mangrove
- 4:12forests are doing,
- 4:13SPEAKER_00: things like that.
- 4:14So foundation model at the core of everything and then on top
- 4:18of that all of these
- 4:19sort of partners that we have that we're working with to try to
- 4:24solve some of the
- 4:25SPEAKER_00: problems that they care about.
- 4:27SPEAKER_01: Amazing.
- 4:27So develop the foundation model and then utilize it in all
- 4:30these different
- 4:31SPEAKER_01: areas that you're working in.
- 4:33SPEAKER_01: You mentioned there's an awful lot happening with foundational models.
- 4:37SPEAKER_01: How does Olmo position itself?
- 4:40Does it position itself to do something different from what
- 4:42others are doing or is
- 4:44SPEAKER_01: it taking a different approach?
- 4:46SPEAKER_00: Well, yeah, we're trying to be the best, I guess.
- 4:50SPEAKER_00: I think one of,
- 4:51SPEAKER_00: you know,
- 4:51SPEAKER_00: AI2 has a number of strengths,
- 4:53but one of the things that has been really nice about AI2 is
- 4:57just the resources
- 4:58SPEAKER_00: that we have there.
- 5:00SPEAKER_00: They've really devoted a lot into this project in particular,
- 5:03SPEAKER_00: and this is something that is a challenge,
- 5:06SPEAKER_00: obviously,
- 5:06SPEAKER_00: in AI research these days.
- 5:07SPEAKER_00: You need GPUs to be able to do this kind of foundation model research,
- 5:11SPEAKER_00: and we've been fortunate to
- 5:14SPEAKER_00: have access to pretty good compute clusters.
- 5:17So we've been able to run a lot of experiments and try a lot of
- 5:20different things.
- 5:22SPEAKER_00: I tend to think of research,
- 5:23SPEAKER_00: honestly,
- 5:24as like throwing a lot of stuff at the wall and seeing what
- 5:27sticks and kind of
- 5:28getting lucky sometimes and then putting a lot of that stuff
- 5:31together and building
- 5:33SPEAKER_00: something really good out of all of these sort of random trials of stuff.
- 5:37SPEAKER_00: So in some sense, you know, we've been
- 5:40SPEAKER_00: Rob Markman- And I think that's something that isn't super common,
- 5:48SPEAKER_00: especially in kind of the academic research world.
- 5:50SPEAKER_00: Rob Markman- And especially,
- 5:52SPEAKER_00: you know,
- 5:53if we think about like what our partner organizations were
- 5:55doing before we started
- 5:56SPEAKER_00: working with them,
- 5:58SPEAKER_00: they definitely didn't have that kind of resource.
- 6:00SPEAKER_00: We also just have
- 6:01SPEAKER_00: a bunch of really talented people who have a lot of experience doing,
- 6:06SPEAKER_00: you know,
- 6:06SPEAKER_00: computer vision geospatial research work.
- 6:08SPEAKER_00: So we are,
- 6:11SPEAKER_00: I would say,
- 6:11currently positioned in the sort of free satellite lower
- 6:17resolution domain and that
- 6:20SPEAKER_00: we mostly work with Sentinel-1,
- 6:21SPEAKER_00: Sentinel-2,
- 6:22SPEAKER_00: and Landsat data.
- 6:23SPEAKER_00: So these are all
- 6:25satellites that have basically free data available that you can
- 6:29download.
- 6:30SPEAKER_00: Anyone can download.
- 6:31SPEAKER_00: I think Sentinel-1 and Sentinel-2 are from ESA and Landsat.
- 6:35SPEAKER_00: I think Landsat's from NASA.
- 6:37SPEAKER_00: You probably know this, right?
- 6:38SPEAKER_01: Yeah, exactly.
- 6:41um so so we're focused more on the lower resolution satellites
- 6:45um that's what we
- 6:46sort of pre-trained the foundation model on um and I would say
- 6:50other than that
- 6:51we're really trying to focus on um any tasks that our partners
- 6:55have indicated are
- 6:56important to them so uh we do do a lot of work in terms of like
- 7:00agricultural type
- 7:01SPEAKER_00: stuff a lot of land cover type stuff um
- 7:05SPEAKER_00: forest sort of problems, things like that.
- 7:09SPEAKER_00: But we really want to build something that's pretty general purpose.
- 7:13The other thing I will say is that there has been a lot of
- 7:16focus in the community
- 7:17SPEAKER_00: on embeddings,
- 7:19SPEAKER_00: and we tend to think
- 7:20SPEAKER_00: We think of ourselves as pushing in the other direction,
- 7:22SPEAKER_00: which is towards training and fine-tuning models for specific problems.
- 7:28SPEAKER_00: So instead of focused on getting good results out of embeddings,
- 7:31we're focused on building a model that we can bring in our
- 7:34partner's data and
- 7:36SPEAKER_00: fine-tune for their specific problem,
- 7:38SPEAKER_00: because we've just found that embeddings only get you so far,
- 7:42SPEAKER_00: and if you can fine-tune the full
- 7:44SPEAKER_00: pipeline on a particular task.
- 7:46SPEAKER_00: You can get really good results, even if they don't have that much data.
- 7:49SPEAKER_00: As long as you have a good pre-trained model,
- 7:52you can usually get better results fine-tuning than you can get
- 7:55out of the
- 7:56SPEAKER_00: embeddings.
- 7:57SPEAKER_01: Which isn't to say, you know, we don't want people using embeddings.
- 8:01SPEAKER_00: We will produce embeddings for you.
- 8:03SPEAKER_00: We have tutorials on how to get embeddings out of all more.
- 8:07SPEAKER_00: So
- 8:09SPEAKER_00: You know,
- 8:09I think embeddings provide a really good tool for fast
- 8:12iteration and for quickly
- 8:14SPEAKER_00: kind of getting results.
- 8:15SPEAKER_00: But if you really want sort of the next level in terms of performance,
- 8:19SPEAKER_00: I think fine-tuning is sort of the way to go.
- 8:21SPEAKER_01: Thanks for clarifying that.
- 8:24SPEAKER_01: And also it's good to understand,
- 8:26SPEAKER_01: you know,
- 8:27SPEAKER_01: where you think embeddings are position versus fine-tuning.
- 8:32I guess one of the areas people might utilize embeddings is in
- 8:36traditional
- 8:36SPEAKER_01: workflows or when they want to join with other kinds of data sources.
- 8:40The other approach I think you guys have taken is to actually
- 8:43include those data
- 8:44sources in the training so you have maps that are used in the
- 8:48pre-training,
- 8:49SPEAKER_01: etc.
- 8:49SPEAKER_01: Do you mind talking a bit more about that?
- 8:52SPEAKER_00: Yeah,
- 8:52SPEAKER_00: our pre-training sort of came from,
- 8:55SPEAKER_00: again,
- 8:55SPEAKER_00: this sort of long iterative process,
- 8:57SPEAKER_00: I would say.
- 8:57But Gabby is on the team who worked on a couple of different
- 9:05foundation models
- 9:06SPEAKER_00: before this,
- 9:06SPEAKER_00: but Galileo in particular,
- 9:08SPEAKER_00: right before Omorath.
- 9:10SPEAKER_00: So we started with basically this idea of building on top of Galileo.
- 9:16SPEAKER_00: And we tried to re-implement Galileo ourselves and basically failed.
- 9:22so what happened was uh we were trying to Galileo is a a latent
- 9:28masked image model
- 9:30um foundation model which means that you're trying to do
- 9:32reconstruction but you're
- 9:34trying to do like masked image reconstruction you're trying to
- 9:37do it in latent
- 9:38space so you convert the image into tokens and then you mask
- 9:41out some of the tokens
- 9:42SPEAKER_00: and you reconstruct them um
- 9:45but the target encoder so the thing that you're trying to
- 9:48reproduce is a standard
- 9:52like sort of target encoder in a similar way to like how dyno
- 9:55v3 or something works
- 9:56in that it gets updated during training too so with latent mass
- 10:02damage modeling
- 10:03latent MIM the target encoder gets updated via basically this
- 10:07rolling average of
- 10:08SPEAKER_00: your
- 10:10SPEAKER_00: encoder for the full training process.
- 10:12SPEAKER_00: So you have your encoder, your decoder, and then your target encoder.
- 10:17And your target encoder is this rolling average of your encoder
- 10:20from the full model.
- 10:23And what the rolling average is supposed to do is stabilize the
- 10:27model enough that
- 10:30SPEAKER_00: you're not trying to target this moving target.
- 10:34SPEAKER_00: in this reconstruction process.
- 10:37SPEAKER_00: But what we basically found was we couldn't get this to train well.
- 10:42SPEAKER_00: The model always basically figured out ways to cheat and kind of diverge.
- 10:47SPEAKER_00: And what that means is basically
- 10:51we're trying to reconstruct these tokens but the target encoder
- 10:55can produce sort of
- 10:56trivially easy solutions for the encoder to reconstruct and
- 11:01then the problem
- 11:02SPEAKER_00: doesn't get interesting it sort of collapses and you don't learn good
- 11:07SPEAKER_00: representations you basically just learn to
- 11:12produce some sort of basically positional encoding type thing
- 11:15or something along those lines.
- 11:18SPEAKER_00: There are various ways in which the model can sort of diverge.
- 11:21SPEAKER_00: So basically we tried to reproduce Galileo.
- 11:23SPEAKER_00: We failed.
- 11:24We went back to the drawing board and we were like,
- 11:26why is this collapsing all the time?
- 11:28We narrowed it down to our target encoder and sort of this
- 11:32moving target that we
- 11:33SPEAKER_00: were trying to reconstruct.
- 11:35SPEAKER_00: And that was too difficult of a process, we decided.
- 11:37SPEAKER_00: So we froze the target encoder.
- 11:40SPEAKER_00: and we used a very shallow target encoder.
- 11:42We actually just take our image and we project it through one
- 11:45random projection to
- 11:47SPEAKER_00: get it into token space.
- 11:49SPEAKER_00: And then we're trying to reconstruct that.
- 11:51SPEAKER_00: So we're not reconstructing in pixel space because we found basically
- 11:55SPEAKER_00: You can reconstruct in pixel space.
- 11:58SPEAKER_00: It tends to produce not quite as good of reconstruction.
- 12:02So we're reconstructing the token space and we're using this
- 12:05contrastive loss.
- 12:06SPEAKER_00: So sort of a class space lost in some sense,
- 12:09or you have a soft max over the match between the tokens that
- 12:15you're trying to
- 12:15SPEAKER_00: match together and the tokens that you want to be different.
- 12:19SPEAKER_00: And you're trying to optimize for that.
- 12:21but um we found basically that this frozen uh target encoder
- 12:26that was just this
- 12:26these random projections into token space works uh pretty well
- 12:30and it stabilized
- 12:31our training a lot um and enabled us to do a lot more sort of
- 12:35experimentation
- 12:36without worrying about collapsing all the time and this is
- 12:38something that gabby
- 12:39said too in developing galileo they saw that uh i think he was
- 12:45saying like one out
- 12:46SPEAKER_00: of every four runs or something would collapse um and
- 12:51SPEAKER_00: They had less of an issue with it,
- 12:53but it was something that we were seeing so often that we just
- 12:55had to kind of deal
- 12:56SPEAKER_00: with.
- 12:57SPEAKER_00: So then once we,
- 12:58SPEAKER_00: and we sort of dubbed this latent MIM light,
- 13:00SPEAKER_00: I guess,
- 13:02because it's kind of this lighter weight version of latent
- 13:05masked image modeling.
- 13:06SPEAKER_00: We're still
- 13:08doing mass-image modeling in latent space,
- 13:11but the target encoder is not quite as interesting.
- 13:14And then we have a bunch of other sort of tricks and things
- 13:18that we worked out in
- 13:19SPEAKER_00: terms of improving performance for the foundation model as well.
- 13:24It's really interesting to hear you talk about kind of the
- 13:27details of the pre-training there.
- 13:28It sounds quite different from just sort of fine-tuning a
- 13:31regular model,
- 13:32right?
- 13:33SPEAKER_01: It sounds probably even more of an art than that is.
- 13:39yeah I would say again you know a lot of what we're doing is
- 13:43just kind of throwing
- 13:44stuff at the wall and seeing what works but also pulling a lot
- 13:46from literature
- 13:47seeing what people are doing it is you know it always strikes
- 13:50me I come to
- 13:53satellite data from a computer vision background and I think of
- 13:56everything as an
- 13:56image and it's amazing how much satellite data is not an image
- 14:02at all you know you
- 14:04SPEAKER_00: can get so much
- 14:05uh so many good results just from thinking about the time
- 14:09series aspect and
- 14:10ignoring all of the spatial data you can just think you know
- 14:13one pixel look at how
- 14:14SPEAKER_00: it uh evolves over time and get really good results um that way
- 14:19SPEAKER_00: You have all of the multispectral information.
- 14:23SPEAKER_00: So it's not just kind of the RGB.
- 14:24SPEAKER_00: It's like, how does this spectral signature like change over time?
- 14:29SPEAKER_00: And I think in some respects,
- 14:32SPEAKER_00: especially with the data that we're dealing with,
- 14:34SPEAKER_00: which is low resolution satellite data,
- 14:37the spatial component is almost the least important part in a
- 14:40lot of these tasks.
- 14:41I think the most important component is kind of the spectral
- 14:44information and this
- 14:45SPEAKER_00: temporal information.
- 14:47SPEAKER_00: Coming at it from a vision background,
- 14:49a lot of things are different when you start to think about
- 14:51satellite data.
- 14:52SPEAKER_00: And this is an issue with pre-training.
- 14:55SPEAKER_00: You know,
- 14:55SPEAKER_00: because we're doing reconstruction of our masked image,
- 15:00SPEAKER_00: there's a lot of redundancy in the data.
- 15:03SPEAKER_00: If you have Sentinel-1 and Sentinel-2 data,
- 15:07SPEAKER_00: a lot of those patches are somewhat similar to each other,
- 15:10SPEAKER_00: and it's fairly easy to do
- 15:13SPEAKER_00: maybe some of that reconstruction,
- 15:15SPEAKER_00: or if you have multi-temporal data,
- 15:16SPEAKER_00: if you have one timestamp and then another timestamp a month later,
- 15:20that reconstruction process can get a lot easier because you
- 15:22can just look backward
- 15:24SPEAKER_00: a month,
- 15:24SPEAKER_00: see what was going on,
- 15:25SPEAKER_00: and then use that as a very strong prior.
- 15:28So a lot of the changes and adjustments that we did to our
- 15:34pre-training algorithm
- 15:35have to deal with the sort of unique challenges presented by
- 15:39satellite data as
- 15:40SPEAKER_00: opposed to,
- 15:41SPEAKER_00: say,
- 15:41SPEAKER_00: images themselves.
- 15:43um so that means you know handling the fact that we have uh
- 15:46these different
- 15:47modalities that are very strongly correlated with each other
- 15:50handling the different
- 15:51time steps that are also very strongly correlated with each
- 15:53other and basically
- 15:55SPEAKER_00: tweaking the reconstruction task in such a way to make it harder and more
- 16:02interesting such that we learn better features instead of just
- 16:05like kind of this
- 16:06SPEAKER_00: trivial task
- 16:09And there's other aspects to using these models which I know
- 16:12can be challenging for
- 16:13SPEAKER_01: people,
- 16:13SPEAKER_01: for instance,
- 16:14SPEAKER_01: like the preparation and normalization of the data itself.
- 16:17SPEAKER_01: Is that an aspect that you can tell us a bit about?
- 16:21SPEAKER_00: Yeah,
- 16:21this is something that we run into all the time with other
- 16:25people's models,
- 16:25SPEAKER_00: basically,
- 16:26mostly because we know how our model is supposed to be
- 16:29normalized and what data is
- 16:31SPEAKER_00: supposed to go into it.
- 16:32SPEAKER_00: But as part of writing the Ulmowarth paper,
- 16:36we did a very large evaluation task where we basically took a
- 16:40bunch of foundation
- 16:41SPEAKER_00: models that were in the literature,
- 16:43SPEAKER_00: all of the ones that we,
- 16:45SPEAKER_00: at the time,
- 16:47sort of recognized as being pretty competitive with the state
- 16:49of the art or just
- 16:50SPEAKER_00: like historical models that people cared about.
- 16:55SPEAKER_00: We took them all and ran them all on a standard set of evaluations.
- 16:59SPEAKER_00: And as part of this,
- 17:00we had to basically take all of these external code bases and
- 17:03force them into our
- 17:03SPEAKER_00: code base and get them to run on all of these evaluations.
- 17:06SPEAKER_00: And everyone uses a different normalization.
- 17:10SPEAKER_00: Are you normalizing by one standard deviation?
- 17:12SPEAKER_00: Are you normalizing by two standard deviations?
- 17:14SPEAKER_00: Are you zero centering or are you
- 17:16you know clamping between zero and one everyone does kind of
- 17:21different stuff with
- 17:22their input data and so we had to try to very carefully go
- 17:27through and figure out
- 17:27you know what these models were expecting and we we messed some
- 17:31of that up and
- 17:32we'll be the first people to sort of correct our papers when we
- 17:36do get some of that
- 17:37SPEAKER_00: stuff wrong I think like
- 17:39tomorrow a small archive update is happening because we got
- 17:43some of the print fee
- 17:44SPEAKER_00: numbers a little bit wrong.
- 17:46SPEAKER_00: It doesn't affect the overall story of the paper,
- 17:49but it sort of speaks to how complicated it is to get all of
- 17:56these models to work.
- 17:57SPEAKER_00: And then that's not even to say
- 18:00SPEAKER_00: Are you using Sentinel-2 data, you know, raw?
- 18:03Are you using it with,
- 18:04you know,
- 18:05what level of post-processing are you using it at?
- 18:09SPEAKER_00: There's all of these kind of,
- 18:11SPEAKER_00: and then everyone uses different normalization statistics too,
- 18:14SPEAKER_00: right?
- 18:14SPEAKER_00: So it's like,
- 18:16SPEAKER_00: if you calculate statistics during pre-training,
- 18:19SPEAKER_00: you have one set of statistics,
- 18:20SPEAKER_00: but then if you run it on
- 18:22SPEAKER_00: a dataset and that dataset is weird.
- 18:25SPEAKER_00: So we saw this a lot with MADOS,
- 18:27SPEAKER_00: the evaluation task,
- 18:28SPEAKER_00: which I think is like trash in the ocean,
- 18:31SPEAKER_00: basically.
- 18:32SPEAKER_00: But all of the input tiles of MADOS are ocean tiles.
- 18:36SPEAKER_00: And those have very different normalization statistics.
- 18:39So if you use the statistics from pre-training,
- 18:42you might get much worse results on MADOS.
- 18:44SPEAKER_00: But if you actually look at the statistics from just the MADOS dataset,
- 18:48you can re-normalize the data using the dataset statistics and
- 18:51then you get
- 18:52SPEAKER_00: different results.
- 18:55Our solution to this was we just tried to sweep as much stuff
- 18:58as possible.
- 18:59So everything that we could think of to try different versions
- 19:03of,
- 19:03we would sweep.
- 19:05SPEAKER_00: So for example, normalization statistics,
- 19:08um how we were doing pooling across tokens all of this kind of
- 19:11stuff um we tried to
- 19:13make sure that it didn't influence uh the results that these
- 19:16models were getting
- 19:18but of course if anyone out there uh sees their model in our
- 19:21paper and sees that
- 19:22it's getting worse results than they would have expected and
- 19:24and knows why um we we
- 19:26would love to get emails uh and we can make corrections to it
- 19:30but we tried to we
- 19:31SPEAKER_00: tried to have as as fair of a comparison as possible at least
- 19:35That's a really interesting nuance that you have to reprocess
- 19:39the data to better
- 19:40match the sort of normalization statistics that your model was
- 19:43pre-trained on.
- 19:44And I guess Donna is maybe one example of some of the
- 19:47challenges people might face
- 19:50SPEAKER_01: when using these models.
- 19:52SPEAKER_01: Another point you brought up was about evaluation.
- 19:55Do you think that we're approaching some sort of
- 19:57standardization on how we evaluate
- 19:59SPEAKER_01: foundational models?
- 20:03SPEAKER_00: It would be really nice if we were.
- 20:07SPEAKER_00: You know, I think this is like an XKCD comic, right?
- 20:11It's like,
- 20:12oh,
- 20:12there are 14 different standards out there and no one can
- 20:15agree.
- 20:15So I'm going to make,
- 20:16you know,
- 20:17the new one and then there are 15 different standards.
- 20:20SPEAKER_00: I think
- 20:23we are doing the best that we can and you know one of the
- 20:27reasons we ran all of
- 20:29these evaluations ourselves was because there isn't a standard
- 20:33set of evaluations
- 20:34that everyone sort of agrees on as like the right evaluations
- 20:39it also like it's
- 20:41SPEAKER_00: sort of silly to think of this as one monolithic
- 20:49SPEAKER_00: domain in that we only care about low-resolution satellite stuff.
- 20:55And a lot of big evaluation frameworks will include aerial
- 21:00imagery or high-res imagery.
- 21:02And that's not something that we train on and also not
- 21:05something that our partners
- 21:06SPEAKER_00: really care about that much for the tasks that we're doing.
- 21:09SPEAKER_00: But some other model, they might really care about high-resolution data.
- 21:13SPEAKER_00: They might not care about Sentinel-1 and Sentinel-2 at all.
- 21:15SPEAKER_00: So...
- 21:18depending on the domain there's going to be different
- 21:19evaluations that you care
- 21:20about we tried to basically span as much breadth as we could in
- 21:25terms of the
- 21:27different sorts of tasks and stuff in the evaluations that we
- 21:29were running but yeah
- 21:31SPEAKER_00: it is it's a challenging
- 21:34SPEAKER_00: thing.
- 21:34And I think basically the community is starting to slowly
- 21:38recognize that we
- 21:39SPEAKER_00: probably need something.
- 21:42SPEAKER_00: But I don't think, you know, like in computer vision, it was easy.
- 21:46SPEAKER_00: It was like,
- 21:47SPEAKER_00: all right,
- 21:47SPEAKER_00: ImageNet for classification and maybe like,
- 21:51SPEAKER_00: well,
- 21:52SPEAKER_00: Pascal VOC,
- 21:52SPEAKER_00: but it got too easy.
- 21:54SPEAKER_00: But then we had Coco and Coco was really good.
- 21:56SPEAKER_00: So Coco for detection and
- 21:59SPEAKER_00: and later on, you know, those sort of saturated.
- 22:01So maybe we got some other things,
- 22:03but there's no,
- 22:04you know,
- 22:05ImageNet for geospatial models yet.
- 22:10SPEAKER_00: There's, you know, GeoBench, GeoBench2.
- 22:13These are,
- 22:14I think,
- 22:15pieces of the puzzle maybe,
- 22:17but I don't think they are comprehensive.
- 22:21SPEAKER_00: And I don't think any evaluations that can really be comprehensive
- 22:27SPEAKER_00: Mm-hmm.
- 22:36SPEAKER_00: But yeah, it's a very hard problem.
- 22:38SPEAKER_00: We've been thinking about this.
- 22:39SPEAKER_00: We've been thinking about,
- 22:40can we release some sort of evaluation benchmark that would
- 22:46incorporate a bunch of
- 22:48SPEAKER_00: tasks from our partners because we have sort of land cover,
- 22:52SPEAKER_00: change detection,
- 22:54SPEAKER_00: single pixel tasks,
- 22:56SPEAKER_00: segmentation task detection.
- 22:58We have a bunch of different sort of stuff from different
- 22:59domains that I think
- 23:01SPEAKER_00: would be a useful resource.
- 23:03SPEAKER_00: I don't know if anything will ever be the one monolithic
- 23:06SPEAKER_00: evaluation.
- 23:07SPEAKER_00: But I think having a lot of different options out there is good.
- 23:12Yeah,
- 23:13let's hope that we can kind of stimulate that conversation and
- 23:16help move things forward.
- 23:18SPEAKER_01: As you say, there's a lot of kind of complexity to it and
- 23:22What are you even trying to compare a lot of the time,
- 23:24you know,
- 23:25needs to be clarified.
- 23:27SPEAKER_01: Another topic that's come up in,
- 23:29SPEAKER_01: I guess,
- 23:30the conversation recently is this comparison of foundational
- 23:33models to kind of
- 23:34SPEAKER_01: smaller and traditional models.
- 23:36And there's been a bit of kind of dialogue stating that
- 23:40actually foundational
- 23:41SPEAKER_01: models are not always much better.
- 23:43And they give examples of training small models and beta sets
- 23:47and the small model
- 23:48SPEAKER_01: achieves better performance.
- 23:50SPEAKER_01: Could you maybe talk a bit about that topic?
- 23:52yeah I guess this was uh something I don't know if you were at
- 23:55the were you at the
- 23:55iClear workshop on geospatial models um this was a topic that
- 24:00came up during the
- 24:01panel discussion there um and there were some there were some
- 24:07strong opinions at
- 24:09that workshop I would say uh I I think um you know we are so so
- 24:15for one thing we
- 24:16SPEAKER_00: are a very um
- 24:21SPEAKER_00: evaluation-focused field in some sense.
- 24:24So if one thing works better than another thing,
- 24:27just use that thing,
- 24:28I guess.
- 24:29SPEAKER_00: We're not saying everyone should use our foundation.
- 24:32SPEAKER_00: Okay, everyone should use Olmaworth for everything.
- 24:34SPEAKER_00: We're not saying everyone should use foundation models for everything.
- 24:36If you have a small model that works well,
- 24:39by all means,
- 24:40you should use it.
- 24:42SPEAKER_00: I think
- 24:44You should just try things and test out how well they work and
- 24:49use the best one for
- 24:50SPEAKER_00: your particular use case.
- 24:53SPEAKER_00: We have found that for our partners, we've done a lot of this comparison.
- 25:00Our foundation model works in general better than the sort of
- 25:05bespoke solutions
- 25:06SPEAKER_00: that they were using beforehand,
- 25:07SPEAKER_00: which are usually something like random forests or
- 25:10grading-boosted decision trees or something on top of some sort
- 25:13of extracted
- 25:13SPEAKER_00: features,
- 25:15SPEAKER_00: which are very powerful models,
- 25:16SPEAKER_00: but we can basically get a lot of benefit out of pre-training.
- 25:22SPEAKER_00: We have these strong features that we've pre-trained,
- 25:26and then the benefit of foundation models is you don't need as
- 25:31much labeled data
- 25:34SPEAKER_00: during fine-tuning.
- 25:35SPEAKER_00: I think if you have a ton of labeled data,
- 25:38SPEAKER_00: then you could train any particular model.
- 25:41It wouldn't really matter if it was a big model or a small
- 25:43model or whatever.
- 25:44SPEAKER_00: And in general, you know, most people don't have a lot of labeled data.
- 25:48SPEAKER_00: It's very time intensive to label data for these kinds of tasks,
- 25:53especially like some of the agriculture tasks people are like
- 25:55going on the ground
- 25:56looking at what crops are growing tagging them you know
- 26:00geolocating it like it's it
- 26:01can be uh require sort of real world um interventions to do
- 26:06some of this data
- 26:07SPEAKER_00: labeling so uh
- 26:11yeah if if you find that for your task a small model works
- 26:14better than a than a
- 26:15large foundation model use the small model and we have a lot of
- 26:19people where the
- 26:19foundation models work better so we're going to keep helping
- 26:22them use it but um
- 26:24we're not you know we're not trying to say that everyone should
- 26:29use this one thing
- 26:30for every single thing and there are other considerations too
- 26:33uh like Skylight I
- 26:34SPEAKER_00: think still uses
- 26:36a convolutional network-based approach because they need a
- 26:40little bit more
- 26:41SPEAKER_00: efficiency than our current models can kind of produce.
- 26:45SPEAKER_00: So there are definitely like efficiency trade-offs for some things.
- 26:50SPEAKER_00: There are a lot of different trade-offs to sort of consider for sure.
- 26:55SPEAKER_01: Yeah.
- 26:56SPEAKER_01: Thanks for clarifying your thoughts on that.
- 26:57I think it's probably needs to be included in the evaluations
- 27:02in some way,
- 27:02SPEAKER_01: but I guess that's part of it ongoing.
- 27:05SPEAKER_01: conversation there.
- 27:06I just want to sort of circle back to Alma and talk a bit about
- 27:10the sort of
- 27:11SPEAKER_01: usability and the sort of practical and ergonomics of it.
- 27:14SPEAKER_01: You mentioned that many of the people,
- 27:15SPEAKER_01: they've kind of got existing approaches,
- 27:17SPEAKER_01: maybe using kind of traditional models.
- 27:20SPEAKER_01: How are you sort of onboarding them to a foundational model?
- 27:23SPEAKER_01: What's your approach there?
- 27:25SPEAKER_00: Yeah,
- 27:25SPEAKER_00: well,
- 27:26SPEAKER_00: this is,
- 27:26SPEAKER_00: again,
- 27:26one of the great things about working at AA2 is just they're
- 27:31willing to dump a lot
- 27:31SPEAKER_00: of resources into building out infrastructure around
- 27:37SPEAKER_00: this kind of project as a whole,
- 27:39SPEAKER_00: which means we're not just building the foundation model,
- 27:41but the Ulmorth platform is this whole platform for using these
- 27:46models as well.
- 27:47SPEAKER_00: So it includes things like labeling data,
- 27:52SPEAKER_00: going in and actually like,
- 27:53SPEAKER_00: you know,
- 27:54either doing segmentation or detection or point labels or
- 27:57whatever you want to do,
- 27:58SPEAKER_00: finding a bunch of like tiles and look,
- 28:01SPEAKER_00: you can sort of use the interface to scroll through them over time,
- 28:04SPEAKER_00: see how things are changing.
- 28:05SPEAKER_00: So
- 28:06so you can label data in the platform and then you can or you
- 28:09can just import data
- 28:10SPEAKER_00: if you already have it a lot of our partners already have data
- 28:14you can validate existing data there's you know whole workflows
- 28:18for like assigning
- 28:19it to people and making sure that everything makes sense and
- 28:23then actually taking
- 28:24the foundation models that we've pre-trained and then
- 28:26fine-tuning it on data that's
- 28:27in the platform and these are mostly with like little wizards
- 28:33basically where
- 28:33you're selecting like what kind of task do you have what does
- 28:36your data look like
- 28:38things like that so trying to make it as straightforward as
- 28:41possible to get people
- 28:43SPEAKER_00: started
- 28:44all within basically this web platform where people can bring
- 28:47their data or label
- 28:49SPEAKER_00: data,
- 28:51SPEAKER_00: pre-trained or fine-tuned models,
- 28:54SPEAKER_00: and then also run the models to perform inference as well.
- 28:56So they can basically select areas to run inference and time
- 29:03ranges to run
- 29:03SPEAKER_00: inference over,
- 29:05SPEAKER_00: and it'll take their fine-tuned model and run it on
- 29:09uh these these windows and generate geotiffs as results
- 29:13basically you can view the
- 29:15results or you can a lot of people just want to download the
- 29:17results and use them
- 29:18in their own workflows um so we're trying to build out
- 29:22basically this platform uh
- 29:24where people can can do their full you know sort of workflow of
- 29:30geospatial stuff or
- 29:31at least part of their workflow again a lot of people uh you
- 29:35know that you generate
- 29:36SPEAKER_00: a map but that's not the end right
- 29:38SPEAKER_00: that's kind of where we stop.
- 29:41SPEAKER_00: But then people have to take that map and do something with it.
- 29:44So trying to make that available so people can download it and
- 29:48use it for whatever
- 29:51SPEAKER_00: kind of the rest of their workflow is.
- 29:53So we're trying to do that as one piece of the puzzle in terms
- 29:57of like connecting
- 29:59SPEAKER_00: with people who don't have any experience with machine learning,
- 30:01SPEAKER_00: who just want to like input their data and get results out of it.
- 30:05SPEAKER_00: And then on the other side, we have everything
- 30:08SPEAKER_00: is, you know, on GitHub, you can look through all of the source code.
- 30:11A lot of it is open source in terms of sort of freely usable
- 30:15available so people can
- 30:19SPEAKER_00: download the modeling code,
- 30:21SPEAKER_00: they can run the models themselves,
- 30:22SPEAKER_00: they can fine-tune the models themselves,
- 30:24and we try to provide a lot of tutorials and resources for
- 30:29people who want to dive
- 30:30a little bit deeper into the code base and actually use the
- 30:33foundation models and
- 30:34SPEAKER_00: kind of the native PyTorch implementations.
- 30:38SPEAKER_01: Right,
- 30:38SPEAKER_01: so full spectrum there,
- 30:40SPEAKER_01: you know,
- 30:41web user interface or people that don't want to code all the
- 30:44way through to,
- 30:45SPEAKER_01: here's the code and the weights and
- 30:47SPEAKER_01: You know, off you go and modify, et cetera.
- 30:50SPEAKER_00: Very ambitious.
- 30:53We've limited somewhat the number of people who are using the
- 30:56platform currently
- 30:57SPEAKER_00: and that we only have bandwidth to onboard a few organizations at a time,
- 31:03SPEAKER_00: basically.
- 31:05SPEAKER_00: working up more and more organizations, getting them in the system.
- 31:07SPEAKER_00: But if you signed up today,
- 31:10it might be a little while until you heard back from someone in
- 31:13terms of getting
- 31:14SPEAKER_00: access to the platform.
- 31:16SPEAKER_00: But with a lot of partners,
- 31:17SPEAKER_00: we're working one-on-one with them to get them into the platform,
- 31:20SPEAKER_00: to get their data in,
- 31:21SPEAKER_00: et cetera,
- 31:22SPEAKER_00: and make sure they have a good experience.
- 31:24So we're really trying to have a really good experience for the
- 31:27partners that are
- 31:28SPEAKER_00: working with us and slowly expanding that over time.
- 31:34SPEAKER_01: Yeah,
- 31:34SPEAKER_01: so there's a couple of other platforms,
- 31:36SPEAKER_01: obviously,
- 31:36SPEAKER_01: Google Earth Engine and Bansure Computer.
- 31:38SPEAKER_01: It sounds like this is going to be something a bit different now.
- 31:43uh yeah i would say i mean or obviously like google earth
- 31:47engine is this kind of
- 31:48behemoth um and they have a lot of uh resources available i
- 31:53think they are going to
- 31:54add in fine-tuning for their foundation model at some point
- 31:57maybe but uh it seems
- 31:58like you maybe will need to pay for it um you don't have to pay
- 32:01for it if you use
- 32:02our platform uh and you can download the model uh it's not some
- 32:06black box sitting
- 32:07SPEAKER_00: somewhere uh in the cloud so uh
- 32:12SPEAKER_00: And,
- 32:13SPEAKER_00: you know,
- 32:13SPEAKER_00: again,
- 32:13we're being sort of picky in terms of the organizations we're
- 32:17working with.
- 32:18We're trying to find organizations that we generally support
- 32:20the mission of,
- 32:21SPEAKER_00: but that means that we are providing all of the compute for free,
- 32:24SPEAKER_00: the platform is free,
- 32:27SPEAKER_00: et cetera.
- 32:27SPEAKER_00: So really trying to support the missions of these nonprofits,
- 32:32SPEAKER_00: NGOs,
- 32:33SPEAKER_00: some governments,
- 32:33I think like the Kenyan government we're working with to do
- 32:36crop modeling,
- 32:36SPEAKER_00: mapping kind of stuff.
- 32:38SPEAKER_00: So, yeah.
- 32:40So it's pretty much kind of a review process to get access to
- 32:43the platform at the
- 32:45SPEAKER_01: moment and the scope might evolve over time.
- 32:49SPEAKER_00: Yeah.
- 32:49SPEAKER_01: Fantastic.
- 32:50SPEAKER_01: So we can direct people to the Ulmowarth platform website.
- 32:54SPEAKER_01: Is that what it's called?
- 32:56SPEAKER_00: Yep, Ulmowarth platform.
- 32:57SPEAKER_00: If you just, I think it's alanai.org slash ulmowarth will get you there.
- 33:03SPEAKER_00: Or just search Ulmowarth, you know, with pretty good SEO, so...
- 33:08SPEAKER_01: Fantastic.
- 33:08SPEAKER_00: Sort of a strange name.
- 33:10SPEAKER_01: Yeah, I'll put the link in the show notes.
- 33:13Just to finish up,
- 33:13I know you had a .1 release,
- 33:15and I think you're working on a .2 release.
- 33:17SPEAKER_01: Do you mind just talking about what's been happening very recently?
- 33:20SPEAKER_00: Yeah, we had 1.1 come out, I think, last week, maybe two weeks ago.
- 33:25SPEAKER_00: And then, yeah, we have version 1.2 happening.
- 33:28SPEAKER_00: 1.1, we just got significantly faster.
- 33:31We're using,
- 33:32like,
- 33:3230% of the tokens that we were originally using,
- 33:35so the model got...
- 33:37got a lot faster in terms of pre-training and fine-tuning and
- 33:41inference time.
- 33:43SPEAKER_00: And version 1.2,
- 33:44we had a lot of people coming to us because a lot of people
- 33:46still want to use
- 33:47SPEAKER_00: embeddings.
- 33:48A lot of people came to us and said our embeddings looked weird
- 33:51because they did
- 33:52look weird because we were using sort of standard 2D syncos
- 33:56positional embeddings.
- 33:58for positional embedding in the image and when you run like PCA
- 34:05on the tokens that
- 34:06we were producing a really clear signal was this positional
- 34:09embedding that we were
- 34:10adding in so it produced these really stark artifacts in our
- 34:15embeddings and even
- 34:16though the embeddings worked well people don't trust something
- 34:19that has that
- 34:21SPEAKER_00: So we're using rotary positional encodings now,
- 34:27SPEAKER_00: rope,
- 34:28and that basically got rid of this really strong artifact that
- 34:35we were seeing.
- 34:36SPEAKER_00: We get better results, too, on many evaluations.
- 34:40SPEAKER_00: Again, it's tough, right?
- 34:42Like,
- 34:43you go up on one evaluation and then you go down a little bit
- 34:45on another evaluation.
- 34:46SPEAKER_00: It's like,
- 34:47SPEAKER_00: well,
- 34:47SPEAKER_00: how much do I weight Pastiz versus Eurosat versus Matos versus,
- 34:52SPEAKER_00: you know,
- 34:53SPEAKER_00: there's just SO2sat.
- 34:54SPEAKER_00: It's like so many different evaluations.
- 34:57That was one of the beautiful things about computer vision is
- 35:00if you got better on
- 35:01SPEAKER_00: ImageNet,
- 35:02SPEAKER_00: you got better across the board on basically everything.
- 35:05SPEAKER_00: And in geospatial stuff, that's not the case.
- 35:08If you get better on one task,
- 35:10it often means you're getting worse on other tasks.
- 35:13SPEAKER_00: We got better on a lot of stuff by adding rope in.
- 35:15SPEAKER_00: And that's version 1.2.
- 35:18SPEAKER_00: That will be out shortly, I think.
- 35:21SPEAKER_00: Probably,
- 35:22SPEAKER_00: I don't know how long it takes to upload the episodes to YouTube,
- 35:25SPEAKER_00: but I would say within the week,
- 35:27SPEAKER_00: we will have 1.2 on our album.
- 35:29SPEAKER_01: All right, exciting.
- 35:30So people will see,
- 35:32I guess,
- 35:32is there a paper there or is that just like a kind of code?
- 35:35SPEAKER_01: It'll be a tech report, yeah.
- 35:37SPEAKER_00: We'll upload a tech report,
- 35:38but it's just like we added rope and here are the experiments
- 35:42that we did.
- 35:42It's not a very impactful tech report,
- 35:45I would say,
- 35:45but interesting maybe.
- 35:48SPEAKER_01: Well, thank you for joining me today.
- 35:49SPEAKER_01: It's been a really interesting conversation.
- 35:51SPEAKER_01: I'll drop the links to the platform in the show notes.
- 35:53SPEAKER_01: And in terms of following updates from the team,
- 35:55SPEAKER_01: I guess LinkedIn or your own blog will be the best places.
- 36:00SPEAKER_00: Yeah,
- 36:00SPEAKER_00: we actually were just talking about how we don't have a LinkedIn,
- 36:03SPEAKER_00: but we maybe are going to make one.
- 36:04SPEAKER_01: Okay.
- 36:06SPEAKER_00: Yeah.
- 36:09SPEAKER_00: You got me on the spot.
- 36:10SPEAKER_00: We'll probably have an Old North LinkedIn at some point.
- 36:14SPEAKER_00: The Old North website is a good place for updates.
- 36:18SPEAKER_00: And if you're interested in the platform,
- 36:20SPEAKER_00: there's an email to send an email to on that platform website.
- 36:24SPEAKER_00: So yeah,
- 36:26SPEAKER_00: a few options,
- 36:26but stay tuned for hopefully some sort of more permanent blog
- 36:31or LinkedIn as well.
- 36:33SPEAKER_01: Fantastic.
- 36:33SPEAKER_01: All right.
- 36:33SPEAKER_01: Well, looking forward to all these updates.
- 36:35SPEAKER_01: Once again, thanks for joining me and see you later.
- 36:37SPEAKER_00: Yeah, thanks.