{"id":2333,"date":"2021-06-08T12:51:23","date_gmt":"2021-06-08T20:51:23","guid":{"rendered":"https:\/\/live-cometml.pantheonsite.io\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/"},"modified":"2021-06-08T12:51:23","modified_gmt":"2021-06-08T20:51:23","slug":"comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth","status":"publish","type":"post","link":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/","title":{"rendered":"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape"},"content":{"rendered":"\n<h3 class=\"has-text-color wp-block-heading\" style=\"color: #747474;\"><em>An inside look at Etsy&#8217;s approach to A\/B testing, examining an adversarial attack called DeepSloth, exploring the MLOps landscape, and more<\/em>.<\/h3>\n\n\n\n<p>Welcome to issue #4 of The Comet Newsletter!<\/p>\n\n\n\n<p>This week, we take a closer look at <a href=\"https:\/\/venturebeat.com\/2021\/06\/06\/machine-learning-security-needs-new-perspectives-and-incentives\/\">an adversarial attack called DeepSloth<\/a> that targets Adaptive Deep Neural Nets. Additionally, we explore <a href=\"https:\/\/codeascraft.com\/2021\/06\/02\/increasing-experimentation-accuracy-and-speed-by-using-control-variates\/\">Etsy\u2019s approach to developing more effective A\/B testing<\/a> with control variates.<\/p>\n\n\n\n<p>Additionally, you might enjoy a tutorial for <a href=\"https:\/\/huggingface.co\/blog\/few-shot-learning-gpt-neo-and-inference-api\">building a Few-Shot Predictions Transformer with Hugging Face<\/a>, as well as a deep dive into <a href=\"https:\/\/ljvmiranda921.github.io\/notebook\/2021\/05\/10\/navigating-the-mlops-landscape\/\">the current state of the MLOps landscape<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Like what you\u2019re reading? <a href=\"https:\/\/info.comet.ml\/newsletter-signup\/\">Subscribe here.<\/a><\/h4>\n\n\n\n<p>And be sure to follow us on <a href=\"https:\/\/www.twitter.com\/cometml\/\">Twitter<\/a> and <a href=\"https:\/\/www.linkedin.com\/company\/comet-ml\/\">LinkedIn<\/a> \u2014 drop us a note if you have something we should cover in an upcoming issue!<\/p>\n\n\n\n<p>Happy Reading,<\/p>\n\n\n\n<p>Austin<\/p>\n\n\n\n<p>Head of Community, Comet<\/p>\n\n\n<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/center>\n\n\n<p><strong>INDUSTRY<\/strong> | WHAT WE&#8217;RE READING | PROJECTS | OPINION<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Machine learning security needs new perspectives and incentives<\/h2>\n\n\n\n<p>At this year\u2019s International Conference on Learning Representations (ICLR) researchers from the University of Maryland presented a new type of adversarial attack intended to slow down deep learning models deployed on edge devices.<\/p>\n\n\n\n<p>Tudor Dumitras\u2019 (<a href=\"https:\/\/twitter.com\/tudor_dumitras\">@tudor_dumitras<\/a>) group presented an attack called DeepSloth that targets Multi-Exit Strategy Neural Networks, specifically <a href=\"https:\/\/arxiv.org\/abs\/1810.07052\">Shallow-Deep Networks<\/a>, an architecture developed by their group in 2019. These types of architectures save compute resources by providing multiple exit points for model predictions. This means that computation does not need to flow through every layer of the network.<\/p>\n\n\n\n<p>For classification tasks, the technique adds a classifier after certain intermediate layers of the network. The model will bypass the calculations of the remaining layers when it becomes confident about the prediction from the earlier layers. The researchers describe this as avoiding \u201cNetwork Overthinking\u201d.<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5050\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Shallow-Deep-Network-Industry-1024x550.jpeg\" alt=\"\" width=\"512\" height=\"275\" \/>\n<figcaption><a href=\"https:\/\/venturebeat.com\/2021\/06\/06\/machine-learning-security-needs-new-perspectives-and-incentives\/\">A diagram of a Shallow-Deep Network<\/a><\/figcaption>\n<\/figure>\n<\/div>\n\n\n\n<p>These types of models can be deployed in scenarios where the model is split between an edge device (mobile, IoT device) and a cloud inference server. The earlier layers of the network are present on the edge device, while the deeper layers reside in the cloud. In cases where the edge side of the model does not reach a conclusive result, it defers further computations to the cloud.\u00a0\u00a0<\/p>\n\n\n\n<p>The DeepSloth attack creates a specific type of input that forces the network to \u201coverthink\u201d, and send all its requests to the cloud server.<\/p>\n\n\n\n<p>According to Dumitras, \u201cIn a scenario typical for IoT deployments, where the model is partitioned between edge devices and the cloud, DeepSloth amplifies the latency by 1.5\u20135X, negating the benefits of model partitioning.&#8221;\u00a0<\/p>\n\n\n\n<p>Additionally, Yigitcan Kaya (@YigitcanKaya1), one of the PhD students responsible for developing DeepSloth, says that one of the biggest problems in Machine Learning security research is that it\u2019s treated as an academic problem. Instead, Kaya argues, the authors should be encouraged to find ways to break their own solutions like their group did with Shallow-Deep Neural Networks.\u00a0<\/p>\n\n\n\n<p>\u201cIf an industry practitioner finds these papers and implements these solutions, they are not warned about what can go wrong,&#8221; noted Kaya. &#8220;Although groups like ours try to expose potential problems, we are less visible to a practitioner who wants to use an early-exit model. Even including a paragraph about the potential risks involved in a solution goes a long way.\u201d<\/p>\n\n\n\n<p><a href=\"https:\/\/venturebeat.com\/2021\/06\/06\/machine-learning-security-needs-new-perspectives-and-incentives\/\">Read Ben Dickson\u2019s full article here.<\/a><\/p>\n\n\n<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/center>\n\n\n<p>INDUSTRY | <strong>WHAT WE&#8217;RE READING<\/strong> | PROJECTS | OPINION<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Etsy Engineering: Increasing experimentation accuracy and speed by using control variates<\/h2>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5051\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Etsy-AB-testing-1024x565.png\" alt=\"\" width=\"512\" height=\"283\" \/>\n<figcaption><a href=\"https:\/\/codeascraft.com\/2021\/06\/02\/increasing-experimentation-accuracy-and-speed-by-using-control-variates\/\">Image Source<\/a><\/figcaption>\n<\/figure>\n<\/div>\n\n\n\n<p>In this post, members from Etsy\u2019s Online Experimentation Science team\u2014a group of engineers and statisticians responsible for building more advanced and scalable statistical tools for online experiments\u2014describe details about bringing the statistical method known as CUPED to Etsy.\u00a0<\/p>\n\n\n\n<p>CUPED is an acronym for Controlled Experiments Using Pre-Experiment Data. The method is focused on estimating treatment effects in A\/B tests more accurately. The challenge lies in quantifying how much of the observed difference is due to real effects, and how much of it is due to noise caused by comparing two subpopulations made of non-identical users.<\/p>\n\n\n\n<p>One way to render these latter fluctuations negligible is to increase the number of users in each group; however this is not always a viable approach, as it can lead to longer experimentation times, and sometimes it just isn\u2019t possible to get a larger sample.\u00a0<\/p>\n\n\n\n<p>Traditionally, A\/B testing looks for differences in outcomes between sample means:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">YA \u2013 YB<\/pre>\n\n\n\n<p>The key idea behind CUPED is not only to play with sample sizes, but also to explain parts of these fluctuations away with the help of other measurable discrepancies between the groups.<\/p>\n\n\n\n<p>The CUPED estimator can be written as:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">YA \u2013 YB \u2013 <strong>(XA \u2013 XB) \u03b2<\/strong><\/pre>\n\n\n\n<p>which corrects the traditional estimator with an additional <strong>denoising term<\/strong>. Intuitively, this denoising term aims to account for how much of the difference in Y is not due to any effect of the treatment, but r<strong>ather due to differences in other observable attributes (X) of the groups<\/strong>. In the equation above, X can be a well-thought-out vector of user attributes (so-called covariates and symbolized by X), and a vector \u03b2 of coefficients to be specified.<\/p>\n\n\n\n<p>X is a vector of pre-experiment variables (collected prior to each user\u2019s entry into the experiment) that ensures the correction term added by CUPED does not introduce any bias.<\/p>\n\n\n\n<p>According to the authors, \u201cThe more information on Y we can obtain from X, the more variance reduction we can achieve with CUPED. In the context of A\/B testing, smaller variances imply smaller sample size requirements, hence shorter experiments\u201d<\/p>\n\n\n\n<p><a href=\"https:\/\/codeascraft.com\/2021\/06\/02\/increasing-experimentation-accuracy-and-speed-by-using-control-variates\/\">Read the team\u2019s full article here.<\/a><\/p>\n\n\n<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/center>\n\n\n<p>INDUSTRY | WHAT WE&#8217;RE READING | <strong>PROJECTS <\/strong> | OPINION<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Few-shot learning in practice: GPT-Neo and the Hugging Face Accelerated Inference API<\/h3>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5052\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/HF-few-shot.jpg\" alt=\"\" width=\"510\" height=\"324\" \/>\n<figcaption><a href=\"https:\/\/huggingface.co\/blog\/few-shot-learning-gpt-neo-and-inference-api\">Image Source<\/a><\/figcaption>\n<\/figure>\n<\/div>\n\n\n\n<p>Transformers continue to be the dominant architecture of 2021. Apart from demolishing benchmarks on previous NLP tasks, large Transformer models now find applications in Few-Shot Learning problems.<\/p>\n\n\n\n<p>Typically, the quality of machine learning applications is limited based on the amount of available training data. In this guide, Philipp Schmid (<a href=\"https:\/\/twitter.com\/_philschmid\">@_philschmid<\/a>) from Hugging Face demonstrates how providing a few examples at inference time with a large language model can overcome this barrier for fine tuning a pretrained model for a specified task.<\/p>\n\n\n\n<p>Schmid uses the <a href=\"https:\/\/github.com\/EleutherAI\/gpt-neo\">GPT-Neo<\/a>, an open source attempt at recreating GPT3, and Hugging Face\u2019s Accelerated Inference API to build a Few-Shot Prediction model that does not require fine tuning on the domain task.<\/p>\n\n\n\n<p><a href=\"https:\/\/huggingface.co\/blog\/few-shot-learning-gpt-neo-and-inference-api\">Read Schmid\u2019s full article here.<\/a><\/p>\n\n\n<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/center>\n\n\n<p>INDUSTRY | WHAT WE&#8217;RE READING | PROJECTS | <strong>OPINION<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Navigating the MLOps Tooling Landscape: A 3-part Series<\/h3>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5053\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/MLOPs-landscape-1024x600.png\" alt=\"\" width=\"512\" height=\"300\" \/>\n<figcaption><a href=\"https:\/\/ljvmiranda921.github.io\/notebook\/2021\/05\/10\/navigating-the-mlops-landscape\/\">Image Source<\/a><\/figcaption>\n<\/figure>\n<\/div>\n\n\n\n<p>The past 3 years have seen a huge rise in companies focusing on the MLOps space. The sheer number of options available these days for tooling around production Machine Learning can lead to a lot of decision fatigue.\u00a0\u00a0<\/p>\n\n\n\n<p>In this series of posts, LJ Miranda (<a href=\"https:\/\/twitter.com\/ljvmiranda921\">@ljvmiranda921<\/a>) outlines a decision framework for selecting the appropriate tools for your Machine Learning projects. His series addresses some key questions such as, \u201cWho is benefiting from adopting this tool?\u201d, \u201cWhat is the exact need that your team is trying to solve with this tool?\u201d and \u201cWhat are the adoption strategies that you can apply when considering a new tool?\u201d<\/p>\n\n\n\n<p>His work builds on insights gathered from Thoughtworks\u2019 <a href=\"https:\/\/www.thoughtworks.com\/radar\">Technology Radar<\/a>. Different organizations approach Machine Learning in very different ways, and it is rare that a single tool can solve all the needs of every organization. Evaluation frameworks help drive better adoption practices by forcing organizations to actively question the core issues they are having around ML productionization.\u00a0\u00a0<\/p>\n\n\n\n<p>Read Miranda\u2019s full exploration in 3 parts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/ljvmiranda921.github.io\/notebook\/2021\/05\/10\/navigating-the-mlops-landscape\/\">Part 1: The Lifecycle<\/a><\/li>\n<li><a href=\"https:\/\/ljvmiranda921.github.io\/notebook\/2021\/05\/15\/navigating-the-mlops-landscape-part-2\/\">Part 2: The Ecosystem<\/a><\/li>\n<li><a href=\"https:\/\/ljvmiranda921.github.io\/notebook\/2021\/05\/30\/navigating-the-mlops-landscape-part-3\/\">Part 3: The Strategies<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Etsy&#8217;s approach to A\/B testing, an adversarial attack called DeepSloth, exploring the MLOps landscape, and more<\/p>\n","protected":false},"author":1,"featured_media":2304,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"customer_name":"","customer_description":"","customer_industry":"","customer_technologies":"","customer_logo":"","footnotes":""},"categories":[10],"tags":[],"coauthors":[130],"class_list":["post-2333","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape - Comet<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape\" \/>\n<meta property=\"og:description\" content=\"Etsy&#039;s approach to A\/B testing, an adversarial attack called DeepSloth, exploring the MLOps landscape, and more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/\" \/>\n<meta property=\"og:site_name\" content=\"Comet\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cometdotml\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-08T20:51:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Comet-Newsletter-Ad-1200x627-02.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Austin Kodra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Cometml\" \/>\n<meta name=\"twitter:site\" content=\"@Cometml\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Austin Kodra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape - Comet","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/","og_locale":"en_US","og_type":"article","og_title":"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape","og_description":"Etsy's approach to A\/B testing, an adversarial attack called DeepSloth, exploring the MLOps landscape, and more","og_url":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/","og_site_name":"Comet","article_publisher":"https:\/\/www.facebook.com\/cometdotml","article_published_time":"2021-06-08T20:51:23+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Comet-Newsletter-Ad-1200x627-02.jpg","type":"image\/jpeg"}],"author":"Austin Kodra","twitter_card":"summary_large_image","twitter_creator":"@Cometml","twitter_site":"@Cometml","twitter_misc":{"Written by":"Austin Kodra","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#article","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/"},"author":{"name":"engineering@atre.net","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/550ac35e8e821db8064c5bd1f0a04e6b"},"headline":"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape","datePublished":"2021-06-08T20:51:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/"},"wordCount":1259,"publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#primaryimage"},"thumbnailUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Comet-Newsletter-Ad-1200x627-02.jpg","articleSection":["Industry"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/","url":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/","name":"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape - Comet","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#primaryimage"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#primaryimage"},"thumbnailUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Comet-Newsletter-Ad-1200x627-02.jpg","datePublished":"2021-06-08T20:51:23+00:00","breadcrumb":{"@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#primaryimage","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Comet-Newsletter-Ad-1200x627-02.jpg","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Comet-Newsletter-Ad-1200x627-02.jpg","width":1200,"height":627,"caption":"Comet Newsletter"},{"@type":"BreadcrumbList","@id":"https:\/\/www.comet.com\/site\/blog\/comet-newsletter-issue-4-etsy-ab-testing-mlops-landscape-deepsloth\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.comet.com\/site\/"},{"@type":"ListItem","position":2,"name":"Issue 4: A\/B Testing at Etsy, New Adversarial Attach, MLOps Landscape"}]},{"@type":"WebSite","@id":"https:\/\/www.comet.com\/site\/#website","url":"https:\/\/www.comet.com\/site\/","name":"Comet","description":"Build Better Models Faster","publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.comet.com\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.comet.com\/site\/#organization","name":"Comet ML, Inc.","alternateName":"Comet","url":"https:\/\/www.comet.com\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","width":310,"height":310,"caption":"Comet ML, Inc."},"image":{"@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/cometdotml","https:\/\/x.com\/Cometml","https:\/\/www.youtube.com\/channel\/UCmN63HKvfXSCS-UwVwmK8Hw"]},{"@type":"Person","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/550ac35e8e821db8064c5bd1f0a04e6b","name":"engineering@atre.net","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/image\/027c18177377edf459980f0cfb83706c","url":"https:\/\/secure.gravatar.com\/avatar\/d002a459a297e0d1779329318029aee19868c312b3e1f3c9ec9b3e3add2740de?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d002a459a297e0d1779329318029aee19868c312b3e1f3c9ec9b3e3add2740de?s=96&d=mm&r=g","caption":"engineering@atre.net"},"sameAs":["https:\/\/live-cometml.pantheonsite.io"],"url":"https:\/\/www.comet.com\/site\/blog\/author\/engineeringatre-net\/"}]}},"_links":{"self":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/2333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/comments?post=2333"}],"version-history":[{"count":0,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/2333\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media\/2304"}],"wp:attachment":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media?parent=2333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/categories?post=2333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/tags?post=2333"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/coauthors?post=2333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}