{"id":504254,"date":"2018-11-01T15:02:14","date_gmt":"2018-11-01T22:02:14","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&#038;p=504254"},"modified":"2020-04-27T13:21:38","modified_gmt":"2020-04-27T20:21:38","slug":"chet","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/chet\/","title":{"rendered":"CHET"},"content":{"rendered":"<p>As computing moves to the cloud, there is an increasing need for privacy in AI. Homomorphic encryption (FHE) is a perfect fit for the highly regular data access patterns of neural networks. However, building efficient and correct applications with FHE is tedious and error-prone. CHET is a compiler and runtime that automates many parts of this process for neural network inference tasks.<\/p>\n<div id=\"attachment_605838\" style=\"width: 535px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-605838\" class=\"size-full wp-image-605838\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_overview.png\" alt=\"Overview of using FHE with Azure showing that decryption key never leaves the user\" width=\"525\" height=\"300\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_overview.png 1049w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_overview-300x172.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_overview-768x439.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_overview-1024x586.png 1024w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><p id=\"caption-attachment-605838\" class=\"wp-caption-text\">FHE enables offloading computations into Azure without sharing your secret key.<\/p><\/div>\n<p>CHET has a set of transformation passes based on a framework of symbolic analyses. For example, to use FHE schemes two parameters, ciphertext modulus Q and polynomial degree N, must be selected. The search space for Q and N has both correctness and security constraints, and for best performance minimal parameters should be selected. CHET will analyze the target program to select good parameters automatically.<\/p>\n<div id=\"attachment_605826\" style=\"width: 351px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-605826\" class=\"size-large wp-image-605826\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_q_n_selection-1024x906.png\" alt=\"Search space for selecting Q and N parameters for FHE\" width=\"341\" height=\"302\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_q_n_selection-1024x906.png 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_q_n_selection-300x266.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_q_n_selection-768x680.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2018\/11\/fhe_q_n_selection.png 1323w\" sizes=\"auto, (max-width: 341px) 100vw, 341px\" \/><p id=\"caption-attachment-605826\" class=\"wp-caption-text\">CHET automates selection of correct, secure and performant encryption parameters.<\/p><\/div>\n<p>As data movement is expensive in FHE, it is important to design computations around efficient data layouts. CHET&#8217;s inference engine implements several data layout policies, and selects between these using an accurate cost model. Combined with a library of kernel implementations, CHET provides state-of-the-art performance for encrypted neural network inference tasks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CHET is a compiler and runtime that automates many parts of this process for neural network inference tasks. The compiler applies transformations based on a framework of symbolic analysis passes.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560,13558],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-504254","msr-project","type-msr-project","status-publish","hentry","msr-research-area-programming-languages-software-engineering","msr-research-area-security-privacy-cryptography","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2018-04-02","related-publications":[605844,598318],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[602154],"related-articles":[],"tab-content":[{"id":0,"name":"Media","content":"<h3>CHET @ PLDI 2019<\/h3>\r\n[embed width=\"800\"]https:\/\/www.youtube.com\/watch?v=80WOqqk5uKE[\/embed]"}],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Kim Laine","user_id":32546,"people_section":"Microsoft","alias":"kilai"},{"type":"user_nicename","display_name":"Madan Musuvathi","user_id":32766,"people_section":"Microsoft","alias":"madanm"},{"type":"guest","display_name":"Roshan Dathathri","user_id":605892,"people_section":"Past Interns","alias":""},{"type":"guest","display_name":"Blagovesta Pirelli","user_id":605898,"people_section":"Past Interns","alias":""}],"msr_research_lab":[199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/504254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":13,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/504254\/revisions"}],"predecessor-version":[{"id":642804,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/504254\/revisions\/642804"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=504254"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=504254"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=504254"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=504254"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=504254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}