{"id":602154,"date":"2019-08-28T08:03:37","date_gmt":"2019-08-28T15:03:37","guid":{"rendered":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/?p=602154"},"modified":"2024-09-10T11:57:43","modified_gmt":"2024-09-10T18:57:43","slug":"he-compilers-for-private-ai-and-other-game-changers-with-dr-olli-saarikivi","status":"publish","type":"post","link":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/podcast\/he-compilers-for-private-ai-and-other-game-changers-with-dr-olli-saarikivi\/","title":{"rendered":"HE compilers for Private AI and other game changers with Dr. Olli Saarikivi"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1024x576.png\" alt=\"Dr. Olli Saarikivi\" class=\"wp-image-602157\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1024x576.png 1024w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-300x169.png 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-768x432.png 768w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1066x600.png 1066w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-655x368.png 655w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-343x193.png 343w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-640x360.png 640w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-960x540.png 960w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1280x720.png 1280w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788.png 1400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"episode-87-august-28-2019\">Episode 87, August 28, 2019<\/h3>\n\n\n\n<p>As computing moves to the cloud, there is an increasing need for privacy in AI. In an ideal world, users would have the ability to compute on encrypted data without sacrificing performance. Enter <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/olsaarik\/\">Dr. Olli Saarikivi<\/a>, a post-doctoral researcher in the <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/group\/research-software-engineering-rise\/\">RiSE group<\/a> at MSR. He, along with a stellar group of cross-disciplinary colleagues, are bridging the gap with <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/chet\/\">CHET<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/publication\/chet-compiler-and-runtime-for-homomorphic-evaluation-of-tensor-programs\/\">a compiler and runtime for homomorphic evaluation of tensor programs<\/a>, that keeps data private while making the complexities of homomorphic encryption schemes opaque to users.<\/p>\n\n\n\n<p>On today\u2019s podcast, Dr. Saarikivi tells us all about CHET, gives us an overview of some of his other projects, including <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/parasail\/\">Parasail<\/a>, a novel approach to parallelizing seemingly sequential applications, and tells us how a series of unconventional educational experiences shaped his view of himself, and his career as a researcher.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"related\">Related:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/podcast\">Microsoft Research Podcast<\/a>: View more podcasts on Microsoft.com<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/itunes.apple.com\/us\/podcast\/microsoft-research-a-podcast\/id1318021537?mt=2\">iTunes<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>: Subscribe and listen to new podcasts each week on iTunes<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/subscribebyemail.com\/www.blubrry.com\/feeds\/microsoftresearch.xml\">Email<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>: Subscribe and listen by email<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/subscribeonandroid.com\/www.blubrry.com\/feeds\/microsoftresearch.xml\">Android<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>: Subscribe and listen on Android<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/open.spotify.com\/show\/4ndjUXyL0hH1FXHgwIiTWU\">Spotify<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>: Listen on Spotify<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.blubrry.com\/feeds\/microsoftresearch.xml\">RSS feed<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/note.microsoft.com\/ww-registration-microsoft-research-newsletter-s.html?wt.mc_id=S-webpage_podcast\">Microsoft Research Newsletter<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>: Sign up to receive the latest news from Microsoft Research<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"transcript\">Transcript<\/h3>\n\n\n\n<p>Olli Saarikivi: When we looked at homomorphic encryption as a target for training, as we were doing in Parasail, we noticed that there\u2019s actually a lot of other lower hanging fruit that we can do for homomorphic encryption, and instead of training, we started looking at inference. So, how do you even evaluate a neural network model on top of homomorphic encryption? Which is a thing you need to be able to do before you can actually do training. So, what CHET is doing is, it is building a complier for homomorphic encryption that automates many of these concerns that we would otherwise have to deal with by hand.<\/p>\n\n\n\n<p><strong>Host: You\u2019re listening to the Microsoft Research Podcast, a show that brings you closer to the cutting-edge of technology research and the scientists behind it. I\u2019m your host, Gretchen Huizinga.<\/strong><\/p>\n\n\n\n<p><strong>Host: As computing moves to the cloud, there\u2019s an increasing need for privacy in AI. In an ideal world, users would have the ability to compute on encrypted data without sacrificing performance. Enter Dr. Olli Saarikivi, a post-doctoral researcher in the RiSE group at MSR. He, along with a stellar group of cross-disciplinary colleagues, are bridging the gap with CHET, a compiler and runtime for homomorphic evaluation of tensor programs, that keeps data private while making the complexities of homomorphic encryption schemes opaque to users.<\/strong><\/p>\n\n\n\n<p>On today\u2019s podcast, Dr. Saarikivi tells us all about CHET, gives us an overview of some of his other projects, including Parasail, a novel approach to parallelizing seemingly sequential applications, and tells us how a series of unconventional educational experiences shaped his view of himself, and his career as a researcher. That and much more on this episode of the Microsoft Research Podcast.<\/p>\n\n\n\n<p><strong>Host: Olli Saarikivi, welcome to the podcast!<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Thank you.<\/p>\n\n\n\n<p><strong>Host: So, you\u2019re a post-doc researcher in the RiSE group, which is Research in Software Engineering, and you\u2019re interested in, and I quote, \u201cdistributing ML training with semantics-preserving parallelization and advancing Private AI with homomorphic encryption.\u201d<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes. And that was kind of the short story\u2026 I\u2019m touching a lot of other things currently also, but yeah.<\/p>\n\n\n\n<p><strong>Host: If that\u2019s the short story, we\u2019re in trouble! Um, there\u2019s a bunch of stuff in there that we\u2019ll unpack as we get into the specific ways that those are playing out in the research you\u2019re doing. But for now, I want to start kind of broad strokes. Tell us what big questions you\u2019re asking, what big problems you\u2019re trying to solve, what gets you up in the morning?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, currently, all of my projects are, in some way or the other, about performance. And it\u2019s not just about looking at the specific application and figuring out what\u2019s the best way to get this to run fast, it\u2019s about finding ways to make performance accessible to developers. And, um, well there was that privacy preserving thing\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026there we\u2019re looking at making homomorphic encryption which is a technique for\u2026<\/p>\n\n\n\n<p><strong>Host: Sure.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026preserving privacy more accessible, while giving them a good performance when doing that.<\/p>\n\n\n\n<p><strong>Host: Okay. So, let\u2019s go in a little bit further on that because I\u2019ve had several of your colleagues in RiSE on the podcast \u2013 some of my favorite people at MSR \u2013 and they\u2019re working on problems that I care a lot about in terms of testing and verification in software, which I know you\u2019ve had a lot of experience in those areas as well. But your most recent work has shifted to the thing you just mentioned: performance. And so, I want to know what you mean by that and what prompted the pivot from your interest in testing and verification to performance.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. It is a very broad term. So, indeed my background is in program analysis topics, like symbolic execution, software verification, that kind of stuff. But it was actually when I came to Microsoft, we worked on this project for optimizing stream processing programs and here, it\u2019s actually turned out that the same techniques that we used for analyzing programs for safety also work for analyzing programs for applying optimizations. So, performance really is about performance as it\u2019s unlocked by powerful complier analysis. And I think these kinds of topics are becoming more and more important as the like computing landscape gets more and more heterogeneous, we\u2019re getting like GPUs and FPGAs and all kinds of accelerators and these are hard to use. And really, we need to start thinking about these problems in like a very domain specific way or what are the like specific constraints of what are we compiling to. And it\u2019s a thing that you can make more accessible to a user if you can provide like good abstractions on top of it through powerful complier optimizations.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: The homomorphic encryption libraries that we\u2019re using are getting implementations on top of GPUs and FPGAs. On a very high level, it looks a lot like one of these accelerators. You get things like a very constrained programming model, weird performance constraints and all of these kind of low-level details that a typical developer has a hard time grappling with. And this is the part where building a good complier for it can help in the same way that having a good complier helps target a GPU if you don\u2019t have to write the lowest level of code and you can use\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026a bit of a higher-level language. So, that\u2019s kind of what we want to do for homomorphic encryption, which is kind of just another target in the landscape of heterogeneous computing.<\/p>\n\n\n\n<p><strong>Host: Let\u2019s talk about that developer right now. Every researcher has a reason, usually in the form of a group of people, for the work they\u2019re doing. So, is that how you would define your target audience, is developers? Who are \u2013 or who do you think will be \u2013 the main beneficiaries of the work you\u2019re doing?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, for the work we\u2019re doing with homomorphic encryption, it is definitely developers in some specific domain. Let\u2019s say you\u2019re a developer working for a bank and you want to increase your privacy by adopting homomorphic encryption. Now, the thing is that that developer probably will not be a cryptographer who is like intimately familiar with all the details of homomorphic encryption, but they have all of this domain-specific knowledge for their own domain.<\/p>\n\n\n\n<p><strong>Host: Sure.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: And now we want to enable them to effectively use tools from homomorphic encryption in their own domain without burdening them with all of the crypto-specific details.<\/p>\n\n\n\n<p><strong>Host: So, they can be using the tools, but not being experts in the science behind the tools.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. And that\u2019s really the aim of any complier project.<\/p>\n\n\n\n<p><strong>Host: Yeah.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Like for traditional programs, it\u2019s that you don\u2019t want to force people to use assembly for their coding and instead use, I don\u2019t know, C# or something.<\/p>\n\n\n\n<p><strong>Host: Well, let\u2019s talk about stream processing for a minute because I want to land on a couple of other big projects that you\u2019re involved in that are really cool, but this area of efficient stream processing is something that you\u2019ve done a lot of work in. Give us an overview of the high points of what you\u2019re doing in this area. What are the technical underpinnings, motivation, rational, and what do you hope the outcomes will be?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, this is work that I did during my two internships at Microsoft Research before I became a post-doc. So, again, the point here is to make performance accessible without having to kind of go in and do all the low-level details yourself. So, the idea here is that, in these stream processing applications, like, let\u2019s say you want to parse a log file and then do some kind of processing on the things you\u2019ve parsed out of it and maybe then do a query on top of that and then encode your data and then write it back to disk. So, you have a kind of like many stages when you process input into output. And a nice way to write these kinds of programs is to write it as separate stages.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: It can actually happen that that\u2019s not the best way to do it for performance. One reason is that, if you write it as a separate stages, you typically get some kind of buffering in between the stages. Sometimes buffering is good, but typically, you would get kind of excessive buffering\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026if you just write it in these small stages that you compose together. And another reason is that there\u2019s a lot of opportunities that you\u2019re leaving on the table. Let\u2019s say you have a very defensive coded component somewhere later on in your pipeline that does all of these kind of checks on the input that it\u2019s like properly formatted or whatever. But if you now compose it with some component that is actually correct, and guaranteed to produce properly formatted data, then all of those defensive checks in these latter components are unnecessary. Like, you should just remove them. But having the developer remove them by hand is\u2026 it\u2019s a lot of work and then your code becomes less modular. So, what we do instead is that we actually compile all of these stages separately into this model of computation called symbolic transducers, which is very suited to representing stream computations. And the nice thing about these is that we have a fusion operator defined, which allows us to combine many of these stages as symbolic transducers, into one big symbolic transducer.<\/p>\n\n\n\n<p><strong>Host: Okay.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: It\u2019s basically a form of in-lining, kind of, with some fancy, solver-assisted optimizations\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026happening inside there. And, now that we have this one big transducer that\u2019s fused\u2026 and they do get big \u2013 like, even though we have the solver helping, there is a blow up \u2013 but now at this point we can actually start applying these program analysis-based optimizations onto that, for example, looking at reachability of certain control states, and start pruning and removing stuff from that symbolic transducer, and this allows us to implement these optimizations that were not available when these stages were considered just separately. And then when we generate code for this, we can actually get some very efficient code that does these inter-stage optimizations and removes buffering and stuff like that.<\/p>\n\n\n\n<p><strong>Host: Okay. Who does this matter for the most?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, the targets for this kind of thing is mainly when you are actually dealing with enough data that throughput matters. So, typical things might be cloud query applications, so we were actually looking at an internal database system for integrating this into systems where you are already burning like lots of computational power and like running queries against your system and you want to reduce that to a lower level to save money.<\/p>\n\n\n\n<p><strong>Host: So\u2026 Yeah, I was going to say, it saves times and money\u2026<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: It saves time and money.<\/p>\n\n\n\n<p><strong>Host: Well time is money.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes.<\/p>\n\n\n\n<p><strong>Host: In computation and other areas. So, are there other areas like in the regex field\u2026?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes. Yeah, so that is actually a direction we took this project. So, we actually looked at doing regular expression matching using theory based on symbolic automata, which is actually important because regular expressions are not just over some small alphabets. If you\u2019re dealing just with ASCII, which is 128, or Extended ASCII, 256 characters, you\u2019re fine dealing with it concretely.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: But symbolic automata allow you to deal with Unicode and larger alphabets, which is the reality in dealing with strings and doing pattern matching these days.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: And there is again, like, all of these automata theoretic algorithmics available for optimizing these symbolic automata, so you\u2019re able to get some very efficient regular expression matching routines out of that. And, yeah, that was actually a very fruitful line of work we are\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026currently beating RE2, which is this well-known kind of default library that people go for\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026high performance regular expression matching.<\/p>\n\n\n\n<p>(music plays)<\/p>\n\n\n\n<p><strong>Host: Well, let\u2019s talk about another cool project you\u2019ve been a part of called Parasail. And your agenda with the project is, and I quote, again, \u201chigh performance ML and encrypted ML.\u201d What is Parasail and what are the research challenges? And how does it defy conventional wisdom?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, it\u2019s actually a very interesting project. It\u2019s more of a meta-project rather than, like, just one specific project. So, Parasail is a line of research that is concerned with parallelizing seemingly sequential computations. And the idea behind that is that, if you take a sequential computation, which basically means that there\u2019s some states that evolves through, like, a sequence of computational steps, it seems like, on the face of it, hard to parallelize this because you have this sequential dependency with the state getting threaded through each of the steps of computation. But it actually turns out that you can do symbolic execution on each of these stages, given a concrete input, and by doing symbolic executions such that you kind of assume that the starting state is unknown, you can do some pre-computation based on that input. And this allows you to parallelize a lot of the computation before you actually have to do this final sequential step of stringing together these individually executed steps.<\/p>\n\n\n\n<p><strong>Host: So, why is that important?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So\u2026 there\u2019s a lot of data in the world. For example, doing large aggregated queries over cloud-scale databases, which have data split onto terabytes and terabytes of data style things. And then, obviously, machine learning. There\u2019s huge amounts of data available for machine learning and you want to parallelize these kinds of processes. So, actually, it\u2019s this first thing that I mention that I got into the Parasail project through. So, we were actually looking at parallelizing streaming computations represented as symbolic transducers.<\/p>\n\n\n\n<p><strong>Host: Okay.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Which is that other line of work\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026that I was mentioning. But it would also be useful to parallelize that. And now the idea is to do symbolic execution on a symbolic transducer to do the parallelization. Now, if we actually look at the machine learning part, it\u2019s very different. The ideas are kind of same on the very high level, but instead of symbolic execution, we\u2019re looking at a second-order optimization method, which has kind of the same flavor, but it\u2019s not the same tools. And this is why I find this project especially interesting. The meta-level idea of this kind of parallelization has been very fruitful, and when we look at specific problems, for example, this stream processing stuff or machine learning stuff, you end up with very different instantiations of the same idea. So, we are kind of getting a lot out of this very simple idea just by applying it to different domains.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: And to be clear, it is a lot of work to apply it to a new domain, but it kind of sets the framework for the research.<\/p>\n\n\n\n<p><strong>Host: Yeah, \u201cto be clear!\u201d It\u2019s a lot of work in general, and then you\u2019ve got new domains to fit it to, right?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah, yeah.<\/p>\n\n\n\n<p><strong>Host: Well, let\u2019s switch streams again. I\u2019ve had a couple of guests on the podcast who specialize in homomorphic encryption, which we\u2019ve talked about briefly, but I\u2019m not going to assume that all our listeners know exactly what that is. So, while it\u2019s not your core expertise, it is central to the project we\u2019re going to talk about next. Give us a quick remedial course on homomorphic encryption and how it works, including the difference between so-called \u201cregular homomorphic encryption\u201d and this flavor that you\u2019re working with called \u201cfully homomorphic encryption.\u201d<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. So, it actually turns out that many existing encryption schemes are slightly homomorphic with respect to some operations. So, let\u2019s take, as an example, RSA, which is a commonly used encryption scheme. So, it has the property that, if you encrypt an integer A, using RSA and you get a ciphertext for A, and then you encrypt an integer B, also with RSA, so now you have two ciphertexts\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026so, you can multiply these two ciphertexts together. So, RSA has a special homomorphic property that if you multiply two ciphertexts together, you get a new ciphertext that is the encryption of what the multiplication of A and B would have been. So, what, in effect, you have done is that you have done computation on encrypted values. And the magical thing is that you didn\u2019t need the secret key to be able to do this compute. So, homomorphic encryption is a form of encryption that allows you to do computation on encrypted data, without having read-access to the data. The thing is that is you just have multiplication, that\u2019s not very useful by itself. For example, if you want to evaluate a polynomial, you need both multiplication and addition. And that is actually the hard part for the cryptographers to arrive at. There\u2019s a lot of examples of encryption schemes that give you either addition or multiplication, but an encryption scheme that gives you both is a relatively new thing. So, the first homomorphic encryption scheme that supported both operations, and could be called fully homomorphic, was introduced ten years ago. And the encryption schemes have a come a long way since then. So, now we have encryption schemes that support both addition and multiplication of encrypted integers. The thing is that it is still a bit slower than normal computation, but the great thing about it is that it gives you a trust model that really nothing else can. So, with homomorphic encryption, you keep the secret key, you don\u2019t give it to anyone, and you only have to trust the math\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026basically.<\/p>\n\n\n\n<p><strong>Host: I want to do a little bit of a detour and bring the issue of privacy front and center because good artificial intelligence requires data and a great deal of data is stuff that we gather from what we do on the internet or put in the cloud, and without certain safeguards, like homomorphic encryption, generally things are not private, right?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. That\u2019s true.<\/p>\n\n\n\n<p><strong>Host: So, there\u2019s an urgent need, in my mind at least, for a new paradigm, and this is what people are calling Private AI. What is Private AI and how can it help us?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, Private AI is actually a very broad term. And it is very broad because there are lots of very different kinds of privacy concerns. So, if we take, for example, homomorphic encryption, what homomorphic encryption allows you to do is you can make some parts of your data encrypted. So, as a privacy concern, it addresses the concern of your data being leaked as you hand it off to someone else. So, if you encrypt it with homomorphic encryption instead and you can do your AI on the encrypted data, then you\u2019ve kind of plugged that one hole. But now, there\u2019s other kinds of privacy concerns. For example, let\u2019s say someone uses your data as a part of their training set for training their machine learning model. Now, even if your data doesn\u2019t get leaked, it gets somehow integrated into, like, a part of the model that\u2019s getting trained because that\u2019s what training means. It has to learn something about your data. But you wouldn\u2019t want someone to be able to fully reconstruct your data just by looking at that model. And this is a form of privacy that is addressed by something called differential privacy. And, as a technique, this is completely orthogonal to homomorphic encryption and it addresses a concern that is very orthogonal to what homomorphic encryption can address.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, I think, for Private AI, the goal should be to, first off, look at what kind of privacy problems there are in AI and provide education to users because the problem is that users don\u2019t even realize what kinds of privacy problems there can be. And now, if you\u2019ve identified the problems, then obviously, we should also find the solutions for them\u2026<\/p>\n\n\n\n<p><strong>Host: We\u2019ve got to fix it.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026but the education aspect is actually very important\u2026<\/p>\n\n\n\n<p><strong>Host: I agree.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026for Private AI.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Making people realize, what are the actual implications of giving out their data or using it in training?<\/p>\n\n\n\n<p><strong>Host: Okay. Well, let\u2019s talk about CHET now. Not the guy who works in Men\u2019s Suits at Nordstrom, but the, and I quote, \u201coptimizing complier for fully homomorphic neural network inferencing.\u201d<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Again, a mouth full!<\/p>\n\n\n\n<p><strong>Host: I love it. And, alternately, you call it an \u201coptimizing complier for practical and interactive Private AI.\u201d Um, it\u2019s a tool stack for cloud inference on private data. Give us a Virtual Earth 3D view of CHET and unpack the stack for us.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. So, this is actually a project that got started with this Parasail research that I was talking about previously. So, it actually turns out that doing parallelization helps with homomorphic encryption because homomorphic encryption behaves better with parallel computations than serial computations. So, this is how we got into working with homomorphic encryption in the first place. Then when we looked at homomorphic encryption as a target for training, as we were doing in Parasail, we noticed that there\u2019s actually a lot of other lower hanging fruit that we can do for homomorphic encryption, and instead of training, we started looking at inference. So, how do you even like evaluate a neural network model on top of homomorphic encryption? Which is a thing you need to be able to do before you can actually do training. So, what CHET is doing is, it is building a complier for homomorphic encryption that automates many of these concerns that we would otherwise have to deal with by hand.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: For example, it selects encryption parameters automatically based on the program you want to run. And now, it turns out that neural network inferencing in actually something that maps well onto the capabilities of homomorphic encryption, so it\u2019s a very attractive application to look at.<\/p>\n\n\n\n<p><strong>Host: Okay, so let\u2019s back up just a little bit and say, does CHET stand for something? Complier for Homomorphic Encryption\u2026?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes. So, the T is coming from tensors, so it\u2019s a Complier for Homomorphic Evaluation of Tensor Programs, which is kind of like a more programming language-flavored term for neural networks.<\/p>\n\n\n\n<p><strong>Host: So, I\u2019ve seen posters and decks and explanations and it\u2019s super technical. It sounds easy when you say \u201cautomating\u201d it. There\u2019s a lot of work that goes into getting it so that it\u2019s automated and someone can use it that didn\u2019t have the expertise you do.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, there is a lot of work, but I feel that the work is actually in understanding the problem. Actually, in CHET, most of the techniques are rather traditional complier techniques.<\/p>\n\n\n\n<p><strong>Host: Interesting.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: I think the magic comes in like finding the right things to automate, finding the right abstraction to expose to the user, and then just implementing it. But there\u2019s a lot of kind of low hanging fruit in this space to be done all along the tool stack and this is kind of what we are addressing. Figuring out what the problems are and then just taking in rather standard techniques to address them. Now I\u2019m glossing over details. There\u2019s also\u2026<\/p>\n\n\n\n<p><strong>Host: Yes, you are.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026hard problems in this space, but so far, the first things we\u2019ve addressed are kind of simple things that no one had really looked at before. And I think a reason that this project has been very fruitful is that it\u2019s a collaboration between the right people. So, we are collaborating with the homomorphic encryption group, who have the knowledge of homomorphic encryption and can explain the ideas to us and what needs to be done and what is kind of difficult to do and then if we need to solve some problem, they can explain the mechanics of it. And we are coming in as programming languages\/compliers people and we have the know-how on how to build programming language tool stacks on top of computational targets. And we can just view homomorphic encryption as a software CPU. It\u2019s an emulator for a CPU with a very limited instruction set that just happens to provide security if you use it. And we can just target that as any other complier would.<\/p>\n\n\n\n<p><strong>Host: How do you feel, when you are working with other people with different expertise, and you start to \u201cget\u201d what they\u2019re doing? I\u2019m sensing, like you said, this project informed this project and, you know, \u201cit turns out that\u201d this helps that, and I see this flow of research and discovery, but it\u2019s pulling from different disciplines and maybe applying a lens to a problem that you didn\u2019t before and then it expands your own horizons.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes, definitely. It has been a lot of learning. So, just as an anecdote, when I came to Microsoft Research for my post doc, I had no experience on machine learning or homomorphic encryption previously. I started out with the Project CHET that was doing machine learning on top of homomorphic encryption. So, like, it was combining two applications areas, both on the complier front and the back end that I had no experience with. But the key part is that I had knowledge about programming language techniques there in the middle and that\u2019s allowed me to be effective in this area. So, there was kind of a relative advantage for me working on this problem, but it was also lots of learning.<\/p>\n\n\n\n<p><strong>Host: And now do you feel like you know just enough about those other areas to be dangerous?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes. I would say so.<\/p>\n\n\n\n<p><strong>Host: I would only be dangerous at a cocktail party where I could say \u201chomomorphic encryption\u201d and some people would think I\u2019m way smarter than I am.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah, saying those words at a cocktail party really kills the mood!<\/p>\n\n\n\n<p>(music plays)<\/p>\n\n\n\n<p><strong>Host: All right, well, Olli, we\u2019ve reached the part of the podcast where we discuss the potential outcomes of your research, both intended and unintended, and talk about what could possibly go wrong. Is there anything about your work that \u201ckeeps you up at night?\u201d Anything that concerns you that we ought to be thinking about, or that we hope you\u2019re thinking about?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Uh\u2026 yes! So, most of my projects are rather safe. I cannot see how they would go horribly wrong. But obviously the homomorphic encryption part could go, like, horribly wrong. Since we are building a complier for targeting homomorphic encryption, it places at lot of responsibility on us to actually get it right.<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Now, homomorphic encryption is a thing that is relatively easy to use in a safe way, meaning that most of the mistakes you make will not actually leak user data, they will make it return garbage, which is kind of a nice property. But there\u2019s a few things that we still need to be careful with. For example, we need to be careful to select correct encryption parameters, so that is something we\u2019ve put a lot of thought into and there\u2019s also like a \u201cdefense in depth\u201d kind of perspective here, so CHET selects encryption parameters and then SEAL, which is Microsoft\u2019s homomorphic encryption library\u2026<\/p>\n\n\n\n<p><strong>Host: Right.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026checks that those have been selected correctly, so there\u2019s kind of two stages in that. Another thing that is important in this space is open sourcing. So, the SEAL encryption library is actually currently open source. It\u2019s available on GitHub and we are in the process of open sourcing CHET. And, really, in this kind of a space where people are really concerned about their privacy, these kinds of projects really need to be open source. There\u2019s no other way about it. It really just buys trust. If someone is going to use it, they should be able to see what it does.<\/p>\n\n\n\n<p><strong>Host: Well, tell us a little bit about your personal story, or your journey from Finland to Redmond. What got a young Olli Saarikivi in Helsinki, interested in computer research and how did he end up at Microsoft Research?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, I actually started out studying physics. So, I did a year of that, and noticed that it was not for me. I think the main reason was that I wasn\u2019t actually very interested in the day-to-day of doing physics, but I was interested in the day-to-day of doing computer science, which is programming, and I enjoyed the process of it, so that\u2019s what, really, the early driving factor into going deeper into computer science. Then, I worked with a professor, Keijo Heljanko who had an extensive background on model checking. And that\u2019s how I got into this testing and software verification stuff. And, in the field of testing and verification, Microsoft Research is the best in the world. It has, like, a significant selection of the best people in the world, specifically in the RiSE group, in this field. So, you couldn\u2019t not be aware of Microsoft Research when working in this area. And I think, like, the biggest thing that struck me about the papers I was reading, coming out of Microsoft Research, was the access to important problems. So, inside Microsoft, there is obviously a lot of software getting written, so the field of program analysis just has a lot of material to work on. And that is so important. So, working at a company like Microsoft is really an advantage. So, that\u2019s why I wanted to get into Microsoft Research. And now having gotten into it\u2026<\/p>\n\n\n\n<p><strong>Host: Don\u2019t want to leave!<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026it\u2019s amazing. Like, you work with such great people. I love it.<\/p>\n\n\n\n<p><strong>Host: So, what was your educational background? Where did you go to school and how did you, you know, wander across the pond, as it were?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: So, that\u2019s actually an interesting question. I started out school in India.<\/p>\n\n\n\n<p><strong>Host: Whoa!<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Which I hadn\u2019t mentioned before.<\/p>\n\n\n\n<p><strong>Host: No, you didn\u2019t!<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: And the school in India was an American school. The American Embassy School, which is a very interesting school. It\u2019s basically like a piece of America just transplanted into the middle of New Delhi. And on the first day going to school there, I did not know a word of English. So, I was just kind of thrown into the deep end basically, but that gave me a great background in English, and I think that has actually helped me a lot as a researcher, because you have to communicate so much. Research is, like, all about you know communication. So, having a strong grasp of the language has helped me.<\/p>\n\n\n\n<p><strong>Host: So, I\u2019m intrigued now. How did you go from Finland to India to an American school? Was there some family connection, or\u2026?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. So, it was actually my father who was an engineer\/manager at Nokia, and he got sent on an assignment to India to set up the business there. So, that was only two years of my childhood. Then I came back to\u2026<\/p>\n\n\n\n<p><strong>Host: OK, that\u2019s fascinating.<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026to Finland, and\u2026<\/p>\n\n\n\n<p><strong>Host: And went to university there?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: \u2026yeah, yeah. So, all of my university schooling has been in Finland.<\/p>\n\n\n\n<p><strong>Host: Including your PhD?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yes. Yes.<\/p>\n\n\n\n<p><strong>Host: And then the internships were what brought you here?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. So, I managed to get an internship during my PhD studies and, apparently it went well, so I managed to get another and then they finally hired me on as a post-doc. So, yeah.<\/p>\n\n\n\n<p><strong>Host: Well actually, the question I was going to ask you about what one interesting trait has helped you in your career as a researcher, that little tidbit about an American school in India from a Finnish guy is pretty close to the funniest thing I\u2019ve heard. But is there anything else that you have, like some tidbit that we couldn\u2019t find about you on a web search, that has actually influenced your career as a researcher?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. I actually went to boarding school for my high school, but it was a strange kind of boarding school. It was a STEM-focused boarding school in the middle of the Finnish countryside, like no civilization for kilometers around it. Takes in twenty students a year and everyone\u2019s a nerd, basically. And that was the first place where I realized that there\u2019s lots of people who are a lot smarter than me. So, I was, like, mediocre in that school, which I think was an important formative experience. As a researcher, it teaches like intellectual humility, which I think is a good trait to have.<\/p>\n\n\n\n<p><strong>Host: Yes, it is! So, twenty kids?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Uh, twenty kids a year, yeah.<\/p>\n\n\n\n<p><strong>Host: And how were you selected?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: There was a selection process.<\/p>\n\n\n\n<p><strong>Host: A test?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah, you had to take a test, basically like high school level math. I think they also select people a lot due to personality. Like they need to find twenty kids that can actually live in a boarding school, going home only every second week. And uh\u2026<\/p>\n\n\n\n<p><strong>Host: Right. So, personal character and, you know, get-along-ability\u2026<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah. People who fit in\u2026 into the group.<\/p>\n\n\n\n<p><strong>Host: So, would you say, prior to that, that you thought you were the smartest kid on the planet?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Yeah, so, in the grades before that, there was like, maybe, one kid who kind of rivaled me, so I think that\u2019s a typical experience for many people going into research early on and I think it\u2019s important to get fast into the stage where you\u2019re not the smartest person in the room!<\/p>\n\n\n\n<p><strong>Host: As we close, I want to give you the last word. So, here is your chance to say anything you want, by way of advice or inspiration, or maybe wisdom or warning, to our listeners, many of whom are in\u2026 somewhere close to where you are on your career path, maybe a little bit behind. What would you say to emerging researchers who might be interested in following your footsteps?<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Well, as you\u2019ve heard now, I\u2019ve touched many topics in my research. But I think one thing that has helped me in each of these topics is working on a project that someone actually cares about. That there is some user that you can picture in your mind that you can sympathize with and you can like think of what their problems are. It changes the research question from, what tricky problem could I solve? into more of like, what tricky problem do I need to solve for this specific application that I\u2019m looking at? And it just makes going deep into the research problem so much easier because you can just imagine your problem and look at what the problems to solve are. And it also makes writing papers easier. Your motivation section comes for free when you like have actual motivation! So, I would really encourage people to do the work of defining their problem well and finding a problem that is actually well-motivated. And for sure, it is work to do that. You could just take the first hard problem that comes along, but not all hard problems are actually useful problems to solve.<\/p>\n\n\n\n<p><strong>Host: Olli Saarikivi, thank you so much for coming in!<\/strong><\/p>\n\n\n\n<p>Olli Saarikivi: Thank you very much.<\/p>\n\n\n\n<p>(music plays)<\/p>\n\n\n\n<p><strong>Host: To learn more about Dr. Olli Saarikivi and how researchers are inviting efficiency to the privacy party, visit <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/\">Microsoft.com\/research<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Episode 87, August 28, 2019- As computing moves to the cloud, there is an increasing need for privacy in AI. In an ideal world, users would have the ability to compute on encrypted data without sacrificing performance. Enter Dr. Olli Saarikivi, a post-doctoral researcher in the RiSE group at MSR. He, along with a stellar group of cross-disciplinary colleagues, are bridging the gap with CHET, a compiler and runtime for homomorphic evaluation of tensor programs, that keeps data private while making the complexities of homomorphic encryption schemes opaque to users.<br \/>\nOn today\u2019s podcast, Dr. Saarikivi tells us all about CHET, gives us an overview of some of his other projects, including Parasail, a novel approach to parallelizing seemingly sequential applications, and tells us how a series of unconventional educational experiences shaped his view of himself, and his career as a researcher.<\/p>\n","protected":false},"author":38022,"featured_media":602157,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msr-url-field":"https:\/\/player.blubrry.com\/id\/48198316","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr-author-ordering":[],"msr_hide_image_in_river":0,"footnotes":""},"categories":[240054],"tags":[],"research-area":[13556,13558],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-602154","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-msr-podcast","msr-research-area-artificial-intelligence","msr-research-area-security-privacy-cryptography","msr-locale-en_us"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"https:\/\/player.blubrry.com\/id\/48198316","podcast_episode":"","msr_research_lab":[199565],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[144812],"related-projects":[504254,171416],"related-events":[],"related-researchers":[],"msr_type":"Post","featured_image_thumbnail":"<img width=\"960\" height=\"540\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-960x540.png\" class=\"img-object-cover\" alt=\"a man wearing glasses and smiling at the camera\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-960x540.png 960w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-300x169.png 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-768x432.png 768w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1024x576.png 1024w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1066x600.png 1066w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-655x368.png 655w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-343x193.png 343w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-640x360.png 640w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788-1280x720.png 1280w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2019\/08\/Olli-Saarikivi_Podcast_Site_07_2019_1400x788.png 1400w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/>","byline":"","formattedDate":"August 28, 2019","formattedExcerpt":"Episode 87, August 28, 2019- As computing moves to the cloud, there is an increasing need for privacy in AI. In an ideal world, users would have the ability to compute on encrypted data without sacrificing performance. Enter Dr. Olli Saarikivi, a post-doctoral researcher in&hellip;","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts\/602154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/users\/38022"}],"replies":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/comments?post=602154"}],"version-history":[{"count":10,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts\/602154\/revisions"}],"predecessor-version":[{"id":1084005,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts\/602154\/revisions\/1084005"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/media\/602157"}],"wp:attachment":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/media?parent=602154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/categories?post=602154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/tags?post=602154"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=602154"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=602154"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=602154"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=602154"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=602154"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=602154"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=602154"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=602154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}