AI alignment research links var siteUrl = 'https://www.cold-takes.com'; var localTheme = localStorage.getItem('dawn\_theme'); switch (localTheme) { case 'dark': document.documentElement.classList.add('theme-dark'); break; case 'light': document.documentElement.classList.add('theme-light'); break; default: break; } { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Cold Takes", "url": "https://www.cold-takes.com/", "logo": { "@type": "ImageObject", "url": "https://www.cold-takes.com/favicon.ico", "width": 48, "height": 48 } }, "author": { "@type": "Person", "name": "Holden Karnofsky", "image": { "@type": "ImageObject", "url": "https://www.cold-takes.com/content/images/2021/07/HK-headshot-current---compressed-1.jpg", "width": 1600, "height": 1067 }, "url": "https://www.cold-takes.com/author/holden/", "sameAs": [ "https://www.cold-takes.com/about/" ] }, "headline": "AI alignment research links", "url": "https://www.cold-takes.com/ai-alignment-research-links/", "datePublished": "2022-01-05T20:18:04.000Z", "dateModified": "2022-02-16T13:16:47.000Z", "image": { "@type": "ImageObject", "url": "https://www.cold-takes.com/content/images/2022/01/AlexaSteinbr-ck-ExplainableAI-1275x700.jpg", "width": 1275, "height": 700 }, "description": "A couple of organizations I'm involved with have recently put out some cool
papers relevant to the AI alignment problem, which I've emphasized the
importance of
[https://www.cold-takes.com/making-the-best-of-the-most-important-century/#open-question-how-hard-is-the-alignment-problem]
for how the most important century
[https://www.cold-takes.com/most-important-century/] might go.

I think some readers will find this post too weedsy, but I get a lot of
questions like "So what are people literall", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.cold-takes.com/" } } .gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; } .shaded-table { color: #000000; border: 1px solid; vertical-align: top; } .shaded-table a { color: #0000dd; } .sticky-subscribe-div { z-index: 1000; position: fixed; bottom: 25px; right: 25px; max-width: 500px; overflow: hidden; opacity: 1; } .sticky-subscribe-button { cursor: pointer; padding: 20px; background: var(--brand-color); color: var(--white-color); border-radius: 50px; border-style: none; } .subscribe-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2000; display: flex; justify-content: center; align-items: center; background: var(--white-color); opacity: 0; transition: opacity 0.3s ease-in; pointer-events: none; } .subscribe-overlay:target { z-index: 2001; opacity: 0.95; pointer-events: auto; } .subscribe-form { margin: 1.5em 0; padding: 6.5vh 7vw 8vh; border-style: solid !important; border: var(--mid-gray-color); border-radius: 10px; text-align: center; } .subscribe-overlay-title { display: inline-block; margin: 0 0 10px 0; font-size: 3rem; line-height: 1.15em; color: var(--darker-gray-color); } .subscribe-overlay-description { margin: 0 auto 50px; max-width: 500px; color: var(--darker-gray-color); font-size: 2rem; line-height: 1.3em; opacity: 0.8; } .subscribe-form .form-group { align-self: stretch; display: flex; } .subscribe-email { padding: 10px; border: 1px solid; border-color: var(--darker-gray-color); font-size: 1.8rem; line-height: 1em; font-weight: normal; user-select: text; transition: border-color 0.15s linear; -webkit-appearance: none; } .subscribe-form .subscribe-overlay-button { word-break: normal; position: relative; display: inline-block; margin: 0 0 0 10px; padding: 0 20px; height: 43px; outline: none; font-size: 1.5rem; line-height: 39px; font-weight: 400; background: var(--brand-color); border-radius: 5px; color: var(--white-color); } .subscribe-form .button-loader, .subscribe-form .message-success, .subscribe-form .message-error { display: none; } .subscribe-form .loading .button-content { visibility: hidden; } .subscribe-form .loading .button-loader { position: absolute; top: 0; left: 50%; display: inline-block; margin-left: -19px; transform: scale(0.7); } .subscribe-overlay .loading .button-loader { top: 5px; } .subscribe-form .button-loader svg path, .subscribe-form .button-loader svg rect { fill: var(--white-color); } .subscribe-form .success .message-success, .subscribe-form .invalid .message-error, .subscribe-form .error .message-error { display: block; margin: 1em auto 0; max-width: 400px; color: var(--red-color); font-size: 1.6rem; line-height: 1.5em; text-align: center; } .subscribe-form .success .message-success { display: block; color: var(--darker-gray-color); } .subscribe-form .invalid .message-error, .subscribe-form .error .message-error { display: block; } @media (max-width: 650px) { .subscribe-form-title { font-size: 2.4rem; } .subscribe-form-description { font-size: 1.6rem; } } @media (max-width: 500px) { .subscribe-form form { display: flex; flex-direction: column; } .subscribe-form .subscribe-overlay-button { margin: 0 0 0 0; } .subscribe-form .form-group { display: flex; flex-direction: column; width: 100%; } .subscribe-form button { display: flex; margin: 0 0 0 0; width: 100%; } } .subscribe-close-button { position: absolute; top: 16px; right: 20px; z-index: 2000; display: block; width: 40px; height: 40px; } .subscribe-close-button:before { content: ""; position: absolute; top: 20px; right: 4px; display: block; width: 32px; height: 1px; background: var(--darker-gray-color); opacity: 0.8; transform: rotate(45deg); } .subscribe-close-button:after { content: ""; position: absolute; top: 20px; right: 4px; display: block; width: 32px; height: 1px; background: var(--darker-gray-color); opacity: 0.8; transform: rotate(-45deg); } .subscribe-close-button:hover { cursor: default; } /\*.message-success, .message-error, .message-loading { display: none; }\*/ /\*.message-success .success { visibility: visible; display: block; opacity: 1; } .message-error.error { visibility: visible; display: block; opacity: 1; }\*/ /\*.success .message-success, .error .message-error, .loading .message-loading { visibility: visible; display: block; opacity: 1; }\*/ /\*For TOC\*/ @media (min-width: 1200px) { .sticky-visible .sticky-toc { visibility: visible; opacity: 1; transform: translateY(0); } .toc-opened .sticky-toc { visibility: hidden; } } /\*.gh-portal-triggerbtn-iframe { } .gh-portal-triggerbtn-wrapper { background: #0000ff !important; } .gh-portal-triggerbtn-container { background: #0000ff !important; height: 10px !important; } \*/ .theme-dark:root { \--green-color: #66ff33 !important; \--orange-color: #ff5c33 !important; \--red-color: #ff3333 !important; \--purple-color: #ff00ff !important; \--brand-color: #5ceaff !important; \--white-color: #18141f !important; \--primary-text-color: #fff !important; \--secondary-text-color: #fff !important; } .feed-visibility-false { display: none; } /\*.feed-visibility-true { display: none; }\*/ :root { \--brand-color:#0000dd; \--white-color:#ffffff; \--primary-text-color:#1a1a1a; \--secondary-text-color:#1a1a1a; \--orange-color: #ff6600; \--purple-color: #cc33ff; } blockquote { font-weight: unset; letter-spacing: normal; font-style: normal; text-align: inherit; } table { border: 1px solid; border-collapse: collapse; white-space: unset !important; width=200px !important; } table td { border: 1px solid; border-collapse: collapse; } .theme-dark .CT-thumb { transform: translate(20px,0px); } .theme-light .CT-thumb { transform: translate(0px,0px); } /\*.u-text-format h3 { color: var(--darker-gray-color) ; }\*/ //Detect theme var existingTheme = localStorage.getItem('dawn\_theme'); if (!existingTheme) { if(navigator.platform.indexOf('Win') > -1) { existingTheme = "light"; } else if(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { existingTheme = "dark"; } else if(window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { existingTheme = "light"; } } //Implement light/dark theme if(existingTheme == "dark") { ctdark(); } else if(existingTheme == 'light') { ctlight(); } window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TZK0WDB1DH'); var clicky\_site\_ids = clicky\_site\_ids || []; clicky\_site\_ids.push(101323562); ![Clicky](//in.getclicky.com/101323562ns.gif) :root {--ghost-accent-color: #888888;} [Cold Takes](https://www.cold-takes.com) [About (+highlights)](https://www.cold-takes.com/about/) [Most Important Century](https://www.cold-takes.com/most-important-century/) [About (+highlights)](https://www.cold-takes.com/about/) [Most Important Century](https://www.cold-takes.com/most-important-century/) [Subscribe (free)](#subscribe) [Subscribe (free)](#subscribe) [Subscribe (free)](#subscribe) [Cold Takes](https://www.cold-takes.com) - AI alignment research links By [Holden Karnofsky](https://www.cold-takes.com/about/ "Holden Karnofsky") Jan 5, 2022 8 min read AI alignment research links =========================== ![AI alignment research links](/content/images/size/w960/2022/01/AlexaSteinbr-ck-ExplainableAI-1275x700.jpg) A couple of organizations I'm involved with have recently put out some cool papers relevant to the AI alignment problem, which I've [emphasized the importance of](https://www.cold-takes.com/making-the-best-of-the-most-important-century/#open-question-how-hard-is-the-alignment-problem) for how the [most important century](https://www.cold-takes.com/most-important-century/) might go. I think some readers will find this post too weedsy, but I get a lot of questions like "So what are people literally actually doing to reduce AI risk?" and this post has some answers. (That said, you should not read this as a "comprehensive survey of AI alignment research," even of recent research. Consistent with other "link posts" on this blog, this is me sharing stuff I've come across and read, and in this case I've read the papers partly because of personal connections to the organizations.) Eliciting Latent Knowledge \-------------------------- [Alignment Research Center (ARC)](https://alignmentresearchcenter.org/), a two-person organization I'm on the board of, released a paper on [Eliciting Latent Knowledge (ELK)](https://www.alignmentforum.org/posts/qHCDysDnvhteW7kRd/arc-s-first-technical-report-eliciting-latent-knowledge), which I'd summarize as "trying to think of theoretically robust ways to train an AI such that it will 'tell the truth,' even in a sort of worst-case situation where it would be easy by default for it to fool humans." The paper largely takes the form of a "game" between a "builder" (who proposes training strategies that might work) and a "breaker" (who thinks of ways the strategies could fail), and ARC is offering [cash prizes](https://www.alignmentforum.org/posts/QEYWkRoCn4fZxXQAY/prizes-for-elk-proposals) for people who can come up with further "builder" moves. The heart of the challenge is the possibility that when one tries to train an AI by [trial-and-error](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#making-pasta) on answering questions from humans - with "success" being defined as "its answers match the ones the human judges (possibly with AI assistance) think are right" - the most simple, natural way for the AI to learn this task is to learn to (a) *answer a question as a human judge would answer it*, rather than (b) *answering a question truthfully.* * (a) and (b) are the same as long as humans can understand everything going on (as in any tests we might run); * (a) and (b) come apart when humans can't understand what's going on (as might happen once AIs are taking lots of actions in the world). It's not clear how relevant this issue will turn out to be in practice; what I find worrying is that this seems like just the sort of problem that could be *hard to notice* (or fix) via experimentation and direct observation, since an AI that learns to do (a) could pass lots of tests while not in fact being truthful when it matters. (My description here is oversimplified; there are a lot more wrinkles in the writeup.) Some of the "builder" proposals try to think about ways that "telling the truth" and "answering as a human judge would answer" might have differently structured calculations, so that we can find ways to reward the former over the latter. This is a theory paper, and I thought it'd be worth sharing a side note on its [general methodology](https://ai-alignment.com/my-research-methodology-b94f2751cb2c) as well. * One of my big concerns about AI alignment theory is that there are no natural feedback loops for knowing whether an insight is important (due to how embryonic the field is, there isn't even much in the way of interpersonal mentorship and feedback). Hence, it seems inherently very easy to spend years making "fake progress" (writing down seemingly-important insights). * ARC recognizes this problem, and focuses its theory work on "worst case" analysis partly because this somewhat increases the "speed of iteration": an idea is considered failed if the researchers can think of any way for it to fail, so lots of ideas get considered and quickly rejected. This way, there are (relatively - still not absolutely) clear goals, and an expectation of daily progress in the form of concrete proposals and counterexamples. **I wrote a [piece on the Effective Altruism forum](https://forum.effectivealtruism.org/posts/Q2BJnpNh8e6RAWFnm/consider-trying-the-elk-contest-i-am) pitching people (especially technical people) on spending some time on the contest, even if they think they're very unlikely to win a prize or get hired by ARC.** I argue that this contest represents an unusual opportunity to get one's head into an esoteric, nascent, potentially crucial area of AI research, without needing any background in AI alignment (though I expect most people who can follow this to have some general technical background and basic familiarity with machine learning). If you know people who might be interested, please send this along! And if you want more info about the contest or the ELK problem, you can check out my [full post](https://forum.effectivealtruism.org/posts/Q2BJnpNh8e6RAWFnm/consider-trying-the-elk-contest-i-am), the [contest announcement](https://www.lesswrong.com/posts/QEYWkRoCn4fZxXQAY/prizes-for-elk-proposals) or the [full writeup on ELK](https://docs.google.com/document/d/1WwsnJQstPq91_Yh-Ch2XRL8H_EpsnjrC1dwZXR37PC8/edit). Training language models to be "helpful, honest and harmless" \------------------------------------------------------------- [Anthropic](https://www.anthropic.com/), an AI lab that my wife Daniela co-founded, has published a [paper](https://arxiv.org/pdf/2112.00861.pdf) with experimental results from training a large language model to be helpful, honest and harmless. A "language model" is a large AI model that has essentially[1](#fn1) been trained exclusively on the task, **"Predict the next word in a string of words, based on the previous words."** It has done lots of [trial-and-error](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#making-pasta) at this sort of prediction, essentially by going through a huge amount of public online text and trying to predict the next word after each set of previous words. From this simple (though data- and compute-hungry) process has emerged an AI that can do a lot of interesting things in response to different prompts - including acting as a chatbot, answering questions from humans, writing stories and articles in the style of particular authors, writing working code based on English-language descriptions of what the code should do, and, er, [acting as a therapist](https://twitter.com/nickcammarata/status/1283300424418619393). There's a nice collection of links to the various capabilities GPT-3 has displayed [here](https://www.lesswrong.com/posts/6Hee7w2paEzHsD6mn/collection-of-gpt-3-results). By default, this sort of AI tends to make pretty frequent statements that are false/misleading and/or toxic (after all, it's been trained on the Internet). This paper examines some basic starting points for correcting that issue. Over time, I expect that AI systems will get more powerful and their "unintended behaviors" more problematic. I consider work like this relevant to the broader challenge of "training an AI to reliably act in accordance with vaguely-defined human preferences, and avoid unintended behaviors." (As opposed to e.g. "training an AI to succeed at a well-defined task," which is how I'd broadly describe most AI research today.) The simplest approach the paper takes is "prompting": giving the language model an "example dialogue" between two humans before asking it any questions. When the language model "talks," it is in some sense spitting out the words it thinks are "most likely to come next, given the words that came before"; so when the "words that came before" include a dialogue between two helpful, honest, harmless seeming people, it picks up cues from this.[2](#fn2) > We provide a long prompt (4600 words from 14 fictional conversations) with example interactions. The prompt we used was not carefully designed or optimized for performance on evaluations; rather it was just written by two of us in an ad hoc manner prior to the construction of any evaluations. Despite the fact that our prompt did not include any examples where models resisted manipulation, refused requests to aid in dangerous activities, or took a stand against unsavory behavior, we observed that models often actively avoided engaging in harmful behaviors based only on the AI 'personality' imbued by the prompt. Something I find interesting here: * An [earlier paper](https://arxiv.org/abs/2109.07958) demonstrated a case where *larger* ("smarter") language models are *less truthful*, apparently because they are better at finding answers to questions that will mimic widespread misconceptions. * The Anthropic paper reproduces this effect, but finds that the simple "prompting" technique above gets rid of it: ![](https://www.cold-takes.com/content/images/2022/01/helpfulhonestharmless.png)"Number of parameters" indicates the "size" of the model - larger models are generally considered "smarter" in some sense. "LM" = "Language model," "LM+prompt" is a language model with the "prompting" intervention described above, and don't worry about the green line. (As [noted by Geoffrey Irving](https://twitter.com/geoffreyirving/status/1468621284460441607), a very similar result appears in a [Deepmind paper](https://storage.googleapis.com/deepmind-media/research/language-research/Training%20Gopher.pdf) that came out around the same time. Reminder that this post isn't a comprehensive survey!) The paper examines a few other techniques for improving the "helpful, honest and harmless" behavior of language models. It presents all of this as a basic starting point - establishing basic "benchmarks" for future work to try to improve on. This is very early-stage work, and a lot more needs to be done! Understand the mechanics of what a neural network is doing \---------------------------------------------------------- Anthropic also published [Transformer Circuits](https://transformer-circuits.pub/), first in a series of papers that represents a direct attempt to address a problem I outline [here](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#misaligned-ai-mysterious-potentially-dangerous-objectives): modern neural networks are *very* "black-box-like." They are trained by [trial-and-error](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#making-pasta), and by default we end up with systems that can do impressive things - but we have very little idea *how* they are doing them, or "what they are thinking." Transformer Circuits is doing something you might think of as "digital neuroscience." It examines a simplified language model, and essentially uses detective work on the model's "digital brain" to figure out which mathematical operations it's performing to carry out key behaviors, such as: "When trying to figure out what word comes after the current word, look at what word came after *previous* instances of the current word." This is something we could've guessed the model was doing, but Transformer Circuits has tried to pin the behavior down to the point where you can follow the "digital brain" carrying out the operations to do it. It's hard to say more than that in a layperson-friendly context, since a lot of the paper is about the mechanical/mathematical details of how the "digital brain" works. But don't take the lower word count as lower excitement - I think this series of papers is some of the most important work going on in AI research right now. [This piece by Evan Hubinger](https://www.alignmentforum.org/posts/2269iGRnWruLHsZ5r/transformer-circuits) gives a brief technical-ish summary of what's exciting, as well. Breaking down and starting to understand the "black box" of how AI models are "thinking" is a lot of work, even for simplified systems, but it seems like essential work to me if these sorts of systems are going to become more powerful and integrated into the economy. *Credit for [feature image](https://betterimagesofai.org/images?idImage=6): Alexa Steinbrück / Better Images of AI / Explainable AI / CC-BY 4.0* [![Twitter](https://www.cold-takes.com/content/images/2021/06/ct-twitter-square.png)](https://api.addthis.com/oexchange/0.8/forward/twitter/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [![Facebook](https://www.cold-takes.com/content/images/2021/06/ct-facebook-square.png)](https://api.addthis.com/oexchange/0.8/forward/facebook/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [![Reddit](https://www.cold-takes.com/content/images/2021/06/ct-reddit-square.png)](https://api.addthis.com/oexchange/0.8/forward/reddit/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [![More](https://www.cold-takes.com/content/images/2021/06/ct-addthis-square.png)](https://api.addthis.com/oexchange/0.8/forward/menu/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [Comment/discuss](https://forum.effectivealtruism.org/posts/87AugxNfxAgAqR3mv/comments-for-shorter-cold-takes-pieces?commentId=m3HYDphJRupqZmEHa) \--- Footnotes \--------- 1\. This is of course a simplification. [↩](#fnref1)- "Prompting" is different from "training." The AI has been "trained" on huge amounts of Internet content to pick up the general skill: "When prompted with some words, predict which words come next." The intervention discussed here is adding to the words it is "prompted with" that are giving its already-trained prediction algorithm clues about what comes next. [↩](#fnref2) For email filter: florpschmop Powered by [Ghost](https://ghost.org/) #### Popular tags [sports](/tag/sports/) [innovationstagnation](/tag/innovationstagnation/) [2star](/tag/2star/) [utopia](/tag/utopia/) Subscribe to Cold Takes ======================= For audio version, search for "Cold Takes Audio" in your podcast app Subscribe **Great!** Check your inbox and click the link to confirm your subscription. **If you don't see it, check your spam!** Please enter a valid email address! $("#lower-right-subscribe").click(function(f) { clicky.goal('1458'); /\*LO.events.track('Subscribe-LR');\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#upper-right-subscribe-1").click(function(f) { clicky.goal('1471'); /\*LO.events.track('Subscribe-LR');\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#upper-right-subscribe-2").click(function(f) { clicky.goal('1471'); /\*LO.events.track('Subscribe-LR');\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#cover-subscribe").click(function(f) { clicky.goal('1472'); /\*LO.events.track('Subscribe-LR');\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#footer-subscribe").click(function(f) { clicky.goal('1473'); /\*LO.events.track('Subscribe-LR');\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#final-subscribe").click(function(f) { clicky.goal('1474'); }); //When someone clicks an anchor link, I want the sticky nav to go away. $("a").click(function(f) { body.removeClass('sticky-visible'); lastSt = 9999999999999}); function ctlight() { html.removeClass('theme-dark').addClass('theme-light'); localStorage.setItem('dawn\_theme', 'light'); //$(".gh-portal-triggerbtn-container").css("background","#0000dd"); /\* document.documentElement.style.setProperty('--brand-color', '#0000dd'); document.documentElement.style.setProperty('--white-color', '#ffffff'); document.documentElement.style.setProperty('--primary-text-color', '#1a1a1a'); document.documentElement.style.setProperty('--secondary-text-color', '#1a1a1a');\*/ // $("#CT-thumbID").css("transform","translate(0px,0)"); // $(".single-content").css("font-weight","400"); existingTheme = "light"; } function ctdark() { html.removeClass('theme-light').addClass('theme-dark'); localStorage.setItem('dawn\_theme', 'dark'); /\*document.documentElement.style.setProperty('--brand-color', '#5ceaff'); document.documentElement.style.setProperty('--white-color', '#18141f'); document.documentElement.style.setProperty('--primary-text-color', '#fff'); document.documentElement.style.setProperty('--secondary-text-color', '#fff');\*/ //document.documentElement.style.setProperty('--white-color', '#14101b'); //document.documentElement.style.setProperty('--white-color', '#121212'); //document.documentElement.style.setProperty('--white-color', '#282c35'); //$(".single-content").css("font-weight","300"); // $("#CT-thumbID").css("transform","translate(19px,0)"); existingTheme = "dark"; } //For light/dark toggle $(".CT-toggle").click(function(g) { g.preventDefault(); if(existingTheme == "dark") { ctlight(); } else if(existingTheme == 'light') { ctdark(); } } ); // Parse the URL parameter, then log goal if it is a completed subscription. Weird that it takes this much code to do this. function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]\*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } // Give the parameter a variable name var action = getParameterByName('action'); var success = getParameterByName('success'); $(document).ready(function () { // Success === null is here for backwards compatibility if (action == 'subscribe' && (success === null || success == 'true')) { clicky.goal('1476'); } });

AI alignment research links var siteUrl = 'https://www.cold-takes.com'; var localTheme = localStorage.getItem('dawn\\_theme'); switch (localTheme) { case 'dark': document.documentElement.classList.add('theme-dark'); break; case 'light': document.documentElement.classList.add('theme-light'); break; default: break; } { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Cold Takes", "url": "https://www.cold-takes.com/", "logo": { "@type": "ImageObject", "url": "https://www.cold-takes.com/favicon.ico", "width": 48, "height": 48 } }, "author": { "@type": "Person", "name": "Holden Karnofsky", "image": { "@type": "ImageObject", "url": "https://www.cold-takes.com/content/images/2021/07/HK-headshot-current---compressed-1.jpg", "width": 1600, "height": 1067 }, "url": "https://www.cold-takes.com/author/holden/", "sameAs": [ "https://www.cold-takes.com/about/" ] }, "headline": "AI alignment research links", "url": "https://www.cold-takes.com/ai-alignment-research-links/", "datePublished": "2022-01-05T20:18:04.000Z", "dateModified": "2022-02-16T13:16:47.000Z", "image": { "@type": "ImageObject", "url": "https://www.cold-takes.com/content/images/2022/01/AlexaSteinbr-ck-ExplainableAI-1275x700.jpg", "width": 1275, "height": 700 }, "description": "A couple of organizations I’m involved with have recently put out some cool\npapers relevant to the AI alignment problem, which I’ve emphasized the\nimportance of\n[https://www.cold-takes.com/making-the-best-of-the-most-important-century/#open-question-how-hard-is-the-alignment-problem] \nfor how the most important century\n[https://www.cold-takes.com/most-important-century/] might go.\n\nI think some readers will find this post too weedsy, but I get a lot of\nquestions like “So what are people literall", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.cold-takes.com/" } } .gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; } .shaded-table { color: #000000; border: 1px solid; vertical-align: top; } .shaded-table a { color: #0000dd; } .sticky-subscribe-div { z-index: 1000; position: fixed; bottom: 25px; right: 25px; max-width: 500px; overflow: hidden; opacity: 1; } .sticky-subscribe-button { cursor: pointer; padding: 20px; background: var(--brand-color); color: var(--white-color); border-radius: 50px; border-style: none; } .subscribe-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2000; display: flex; justify-content: center; align-items: center; background: var(--white-color); opacity: 0; transition: opacity 0.3s ease-in; pointer-events: none; } .subscribe-overlay:target { z-index: 2001; opacity: 0.95; pointer-events: auto; } .subscribe-form { margin: 1.5em 0; padding: 6.5vh 7vw 8vh; border-style: solid !important; border: var(--mid-gray-color); border-radius: 10px; text-align: center; } .subscribe-overlay-title { display: inline-block; margin: 0 0 10px 0; font-size: 3rem; line-height: 1.15em; color: var(--darker-gray-color); } .subscribe-overlay-description { margin: 0 auto 50px; max-width: 500px; color: var(--darker-gray-color); font-size: 2rem; line-height: 1.3em; opacity: 0.8; } .subscribe-form .form-group { align-self: stretch; display: flex; } .subscribe-email { padding: 10px; border: 1px solid; border-color: var(--darker-gray-color); font-size: 1.8rem; line-height: 1em; font-weight: normal; user-select: text; transition: border-color 0.15s linear; -webkit-appearance: none; } .subscribe-form .subscribe-overlay-button { word-break: normal; position: relative; display: inline-block; margin: 0 0 0 10px; padding: 0 20px; height: 43px; outline: none; font-size: 1.5rem; line-height: 39px; font-weight: 400; background: var(--brand-color); border-radius: 5px; color: var(--white-color); } .subscribe-form .button-loader, .subscribe-form .message-success, .subscribe-form .message-error { display: none; } .subscribe-form .loading .button-content { visibility: hidden; } .subscribe-form .loading .button-loader { position: absolute; top: 0; left: 50%; display: inline-block; margin-left: -19px; transform: scale(0.7); } .subscribe-overlay .loading .button-loader { top: 5px; } .subscribe-form .button-loader svg path, .subscribe-form .button-loader svg rect { fill: var(--white-color); } .subscribe-form .success .message-success, .subscribe-form .invalid .message-error, .subscribe-form .error .message-error { display: block; margin: 1em auto 0; max-width: 400px; color: var(--red-color); font-size: 1.6rem; line-height: 1.5em; text-align: center; } .subscribe-form .success .message-success { display: block; color: var(--darker-gray-color); } .subscribe-form .invalid .message-error, .subscribe-form .error .message-error { display: block; } @media (max-width: 650px) { .subscribe-form-title { font-size: 2.4rem; } .subscribe-form-description { font-size: 1.6rem; } } @media (max-width: 500px) { .subscribe-form form { display: flex; flex-direction: column; } .subscribe-form .subscribe-overlay-button { margin: 0 0 0 0; } .subscribe-form .form-group { display: flex; flex-direction: column; width: 100%; } .subscribe-form button { display: flex; margin: 0 0 0 0; width: 100%; } } .subscribe-close-button { position: absolute; top: 16px; right: 20px; z-index: 2000; display: block; width: 40px; height: 40px; } .subscribe-close-button:before { content: ""; position: absolute; top: 20px; right: 4px; display: block; width: 32px; height: 1px; background: var(--darker-gray-color); opacity: 0.8; transform: rotate(45deg); } .subscribe-close-button:after { content: ""; position: absolute; top: 20px; right: 4px; display: block; width: 32px; height: 1px; background: var(--darker-gray-color); opacity: 0.8; transform: rotate(-45deg); } .subscribe-close-button:hover { cursor: default; } /\\*.message-success, .message-error, .message-loading { display: none; }\\*/ /\\*.message-success .success { visibility: visible; display: block; opacity: 1; } .message-error.error { visibility: visible; display: block; opacity: 1; }\\*/ /\\*.success .message-success, .error .message-error, .loading .message-loading { visibility: visible; display: block; opacity: 1; }\\*/ /\\*For TOC\\*/ @media (min-width: 1200px) { .sticky-visible .sticky-toc { visibility: visible; opacity: 1; transform: translateY(0); } .toc-opened .sticky-toc { visibility: hidden; } } /\\*.gh-portal-triggerbtn-iframe { } .gh-portal-triggerbtn-wrapper { background: #0000ff !important; } .gh-portal-triggerbtn-container { background: #0000ff !important; height: 10px !important; } \\*/ .theme-dark:root { \--green-color: #66ff33 !important; \--orange-color: #ff5c33 !important; \--red-color: #ff3333 !important; \--purple-color: #ff00ff !important; \--brand-color: #5ceaff !important; \--white-color: #18141f !important; \--primary-text-color: #fff !important; \--secondary-text-color: #fff !important; } .feed-visibility-false { display: none; } /\\*.feed-visibility-true { display: none; }\\*/ :root { \--brand-color:#0000dd; \--white-color:#ffffff; \--primary-text-color:#1a1a1a; \--secondary-text-color:#1a1a1a; \--orange-color: #ff6600; \--purple-color: #cc33ff; } blockquote { font-weight: unset; letter-spacing: normal; font-style: normal; text-align: inherit; } table { border: 1px solid; border-collapse: collapse; white-space: unset !important; width=200px !important; } table td { border: 1px solid; border-collapse: collapse; } .theme-dark .CT-thumb { transform: translate(20px,0px); } .theme-light .CT-thumb { transform: translate(0px,0px); } /\\*.u-text-format h3 { color: var(--darker-gray-color) ; }\\*/ //Detect theme var existingTheme = localStorage.getItem('dawn\\_theme'); if (!existingTheme) { if(navigator.platform.indexOf('Win') > -1) { existingTheme = "light"; } else if(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { existingTheme = "dark"; } else if(window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { existingTheme = "light"; } } //Implement light/dark theme if(existingTheme == "dark") { ctdark(); } else if(existingTheme == 'light') { ctlight(); } window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TZK0WDB1DH'); var clicky\\_site\\_ids = clicky\\_site\\_ids || []; clicky\\_site\\_ids.push(101323562); ![Clicky](//in.getclicky.com/101323562ns.gif) :root {--ghost-accent-color: #888888;} [Cold Takes](https://www.cold-takes.com) [About (+highlights)](https://www.cold-takes.com/about/) [Most Important Century](https://www.cold-takes.com/most-important-century/) [About (+highlights)](https://www.cold-takes.com/about/) [Most Important Century](https://www.cold-takes.com/most-important-century/) [Subscribe (free)](#subscribe) [Subscribe (free)](#subscribe) [Subscribe (free)](#subscribe) [Cold Takes](https://www.cold-takes.com) - AI alignment research links By [Holden Karnofsky](https://www.cold-takes.com/about/ "Holden Karnofsky") Jan 5, 2022 8 min read AI alignment research links =========================== ![AI alignment research links](/content/images/size/w960/2022/01/AlexaSteinbr-ck-ExplainableAI-1275x700.jpg) A couple of organizations I’m involved with have recently put out some cool papers relevant to the AI alignment problem, which I’ve [emphasized the importance of](https://www.cold-takes.com/making-the-best-of-the-most-important-century/#open-question-how-hard-is-the-alignment-problem) for how the [most important century](https://www.cold-takes.com/most-important-century/) might go. I think some readers will find this post too weedsy, but I get a lot of questions like “So what are people literally actually doing to reduce AI risk?” and this post has some answers. (That said, you should not read this as a "comprehensive survey of AI alignment research," even of recent research. Consistent with other "link posts" on this blog, this is me sharing stuff I've come across and read, and in this case I've read the papers partly because of personal connections to the organizations.) Eliciting Latent Knowledge \-------------------------- [Alignment Research Center (ARC)](https://alignmentresearchcenter.org/), a two-person organization I’m on the board of, released a paper on [Eliciting Latent Knowledge (ELK)](https://www.alignmentforum.org/posts/qHCDysDnvhteW7kRd/arc-s-first-technical-report-eliciting-latent-knowledge), which I’d summarize as “trying to think of theoretically robust ways to train an AI such that it will ‘tell the truth,’ even in a sort of worst-case situation where it would be easy by default for it to fool humans.” The paper largely takes the form of a “game” between a “builder” (who proposes training strategies that might work) and a “breaker” (who thinks of ways the strategies could fail), and ARC is offering [cash prizes](https://www.alignmentforum.org/posts/QEYWkRoCn4fZxXQAY/prizes-for-elk-proposals) for people who can come up with further “builder” moves. The heart of the challenge is the possibility that when one tries to train an AI by [trial-and-error](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#making-pasta) on answering questions from humans - with "success" being defined as "its answers match the ones the human judges (possibly with AI assistance) think are right" - the most simple, natural way for the AI to learn this task is to learn to (a) *answer a question as a human judge would answer it*, rather than (b) *answering a question truthfully.* * (a) and (b) are the same as long as humans can understand everything going on (as in any tests we might run); * (a) and (b) come apart when humans can't understand what's going on (as might happen once AIs are taking lots of actions in the world). It's not clear how relevant this issue will turn out to be in practice; what I find worrying is that this seems like just the sort of problem that could be *hard to notice* (or fix) via experimentation and direct observation, since an AI that learns to do (a) could pass lots of tests while not in fact being truthful when it matters. (My description here is oversimplified; there are a lot more wrinkles in the writeup.) Some of the "builder" proposals try to think about ways that "telling the truth" and "answering as a human judge would answer" might have differently structured calculations, so that we can find ways to reward the former over the latter. This is a theory paper, and I thought it'd be worth sharing a side note on its [general methodology](https://ai-alignment.com/my-research-methodology-b94f2751cb2c) as well. * One of my big concerns about AI alignment theory is that there are no natural feedback loops for knowing whether an insight is important (due to how embryonic the field is, there isn't even much in the way of interpersonal mentorship and feedback). Hence, it seems inherently very easy to spend years making "fake progress" (writing down seemingly-important insights). * ARC recognizes this problem, and focuses its theory work on "worst case" analysis partly because this somewhat increases the "speed of iteration": an idea is considered failed if the researchers can think of any way for it to fail, so lots of ideas get considered and quickly rejected. This way, there are (relatively - still not absolutely) clear goals, and an expectation of daily progress in the form of concrete proposals and counterexamples. **I wrote a [piece on the Effective Altruism forum](https://forum.effectivealtruism.org/posts/Q2BJnpNh8e6RAWFnm/consider-trying-the-elk-contest-i-am) pitching people (especially technical people) on spending some time on the contest, even if they think they’re very unlikely to win a prize or get hired by ARC.** I argue that this contest represents an unusual opportunity to get one’s head into an esoteric, nascent, potentially crucial area of AI research, without needing any background in AI alignment (though I expect most people who can follow this to have some general technical background and basic familiarity with machine learning). If you know people who might be interested, please send this along! And if you want more info about the contest or the ELK problem, you can check out my [full post](https://forum.effectivealtruism.org/posts/Q2BJnpNh8e6RAWFnm/consider-trying-the-elk-contest-i-am), the [contest announcement](https://www.lesswrong.com/posts/QEYWkRoCn4fZxXQAY/prizes-for-elk-proposals) or the [full writeup on ELK](https://docs.google.com/document/d/1WwsnJQstPq91_Yh-Ch2XRL8H_EpsnjrC1dwZXR37PC8/edit). Training language models to be “helpful, honest and harmless” \------------------------------------------------------------- [Anthropic](https://www.anthropic.com/), an AI lab that my wife Daniela co-founded, has published a [paper](https://arxiv.org/pdf/2112.00861.pdf) with experimental results from training a large language model to be helpful, honest and harmless. A “language model” is a large AI model that has essentially[1](#fn1) been trained exclusively on the task, **“Predict the next word in a string of words, based on the previous words.”** It has done lots of [trial-and-error](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#making-pasta) at this sort of prediction, essentially by going through a huge amount of public online text and trying to predict the next word after each set of previous words. From this simple (though data- and compute-hungry) process has emerged an AI that can do a lot of interesting things in response to different prompts - including acting as a chatbot, answering questions from humans, writing stories and articles in the style of particular authors, writing working code based on English-language descriptions of what the code should do, and, er, [acting as a therapist](https://twitter.com/nickcammarata/status/1283300424418619393). There’s a nice collection of links to the various capabilities GPT-3 has displayed [here](https://www.lesswrong.com/posts/6Hee7w2paEzHsD6mn/collection-of-gpt-3-results). By default, this sort of AI tends to make pretty frequent statements that are false/misleading and/or toxic (after all, it’s been trained on the Internet). This paper examines some basic starting points for correcting that issue. Over time, I expect that AI systems will get more powerful and their "unintended behaviors" more problematic. I consider work like this relevant to the broader challenge of “training an AI to reliably act in accordance with vaguely-defined human preferences, and avoid unintended behaviors." (As opposed to e.g. "training an AI to succeed at a well-defined task," which is how I'd broadly describe most AI research today.) The simplest approach the paper takes is “prompting”: giving the language model an “example dialogue” between two humans before asking it any questions. When the language model “talks,” it is in some sense spitting out the words it thinks are “most likely to come next, given the words that came before”; so when the “words that came before” include a dialogue between two helpful, honest, harmless seeming people, it picks up cues from this.[2](#fn2) > We provide a long prompt (4600 words from 14 fictional conversations) with example interactions. The prompt we used was not carefully designed or optimized for performance on evaluations; rather it was just written by two of us in an ad hoc manner prior to the construction of any evaluations. Despite the fact that our prompt did not include any examples where models resisted manipulation, refused requests to aid in dangerous activities, or took a stand against unsavory behavior, we observed that models often actively avoided engaging in harmful behaviors based only on the AI ‘personality’ imbued by the prompt. Something I find interesting here: * An [earlier paper](https://arxiv.org/abs/2109.07958) demonstrated a case where *larger* (“smarter”) language models are *less truthful*, apparently because they are better at finding answers to questions that will mimic widespread misconceptions. * The Anthropic paper reproduces this effect, but finds that the simple “prompting” technique above gets rid of it: ![](https://www.cold-takes.com/content/images/2022/01/helpfulhonestharmless.png)“Number of parameters” indicates the “size” of the model - larger models are generally considered “smarter” in some sense. “LM” = “Language model,” “LM+prompt” is a language model with the “prompting” intervention described above, and don’t worry about the green line. (As [noted by Geoffrey Irving](https://twitter.com/geoffreyirving/status/1468621284460441607), a very similar result appears in a [Deepmind paper](https://storage.googleapis.com/deepmind-media/research/language-research/Training%20Gopher.pdf) that came out around the same time. Reminder that this post isn't a comprehensive survey!) The paper examines a few other techniques for improving the “helpful, honest and harmless” behavior of language models. It presents all of this as a basic starting point - establishing basic “benchmarks” for future work to try to improve on. This is very early-stage work, and a lot more needs to be done! Understand the mechanics of what a neural network is doing \---------------------------------------------------------- Anthropic also published [Transformer Circuits](https://transformer-circuits.pub/), first in a series of papers that represents a direct attempt to address a problem I outline [here](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#misaligned-ai-mysterious-potentially-dangerous-objectives): modern neural networks are *very* “black-box-like.” They are trained by [trial-and-error](https://www.cold-takes.com/transformative-ai-timelines-part-1-of-4-what-kind-of-ai/#making-pasta), and by default we end up with systems that can do impressive things - but we have very little idea *how* they are doing them, or “what they are thinking.” Transformer Circuits is doing something you might think of as "digital neuroscience." It examines a simplified language model, and essentially uses detective work on the model's “digital brain” to figure out which mathematical operations it’s performing to carry out key behaviors, such as: “When trying to figure out what word comes after the current word, look at what word came after *previous* instances of the current word.” This is something we could've guessed the model was doing, but Transformer Circuits has tried to pin the behavior down to the point where you can follow the "digital brain" carrying out the operations to do it. It's hard to say more than that in a layperson-friendly context, since a lot of the paper is about the mechanical/mathematical details of how the "digital brain" works. But don't take the lower word count as lower excitement - I think this series of papers is some of the most important work going on in AI research right now. [This piece by Evan Hubinger](https://www.alignmentforum.org/posts/2269iGRnWruLHsZ5r/transformer-circuits) gives a brief technical-ish summary of what’s exciting, as well. Breaking down and starting to understand the “black box” of how AI models are "thinking" is a lot of work, even for simplified systems, but it seems like essential work to me if these sorts of systems are going to become more powerful and integrated into the economy. *Credit for [feature image](https://betterimagesofai.org/images?idImage=6): Alexa Steinbrück / Better Images of AI / Explainable AI / CC-BY 4.0* [![Twitter](https://www.cold-takes.com/content/images/2021/06/ct-twitter-square.png)](https://api.addthis.com/oexchange/0.8/forward/twitter/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [![Facebook](https://www.cold-takes.com/content/images/2021/06/ct-facebook-square.png)](https://api.addthis.com/oexchange/0.8/forward/facebook/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [![Reddit](https://www.cold-takes.com/content/images/2021/06/ct-reddit-square.png)](https://api.addthis.com/oexchange/0.8/forward/reddit/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [![More](https://www.cold-takes.com/content/images/2021/06/ct-addthis-square.png)](https://api.addthis.com/oexchange/0.8/forward/menu/offer?url=https%3A%2F%2Fwww.cold-takes.com%2Fai-alignment-research-links%2F&pubid;=ra-60a178324cffc42e&title;=Cold%20Takes%20-%20AI%20alignment%20research%20links&ct;=1) [Comment/discuss](https://forum.effectivealtruism.org/posts/87AugxNfxAgAqR3mv/comments-for-shorter-cold-takes-pieces?commentId=m3HYDphJRupqZmEHa) \--- Footnotes \--------- 1\. This is of course a simplification. [↩](#fnref1)- "Prompting" is different from "training." The AI has been "trained" on huge amounts of Internet content to pick up the general skill: "When prompted with some words, predict which words come next." The intervention discussed here is adding to the words it is "prompted with" that are giving its already-trained prediction algorithm clues about what comes next. [↩](#fnref2) For email filter: florpschmop Powered by [Ghost](https://ghost.org/) #### Popular tags [sports](/tag/sports/) [innovationstagnation](/tag/innovationstagnation/) [2star](/tag/2star/) [utopia](/tag/utopia/) Subscribe to Cold Takes ======================= For audio version, search for "Cold Takes Audio" in your podcast app Subscribe **Great!** Check your inbox and click the link to confirm your subscription. **If you don't see it, check your spam!** Please enter a valid email address! $("#lower-right-subscribe").click(function(f) { clicky.goal('1458'); /\\*LO.events.track('Subscribe-LR');\\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#upper-right-subscribe-1").click(function(f) { clicky.goal('1471'); /\\*LO.events.track('Subscribe-LR');\\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#upper-right-subscribe-2").click(function(f) { clicky.goal('1471'); /\\*LO.events.track('Subscribe-LR');\\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#cover-subscribe").click(function(f) { clicky.goal('1472'); /\\*LO.events.track('Subscribe-LR');\\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#footer-subscribe").click(function(f) { clicky.goal('1473'); /\\*LO.events.track('Subscribe-LR');\\*/ setTimeout(function(){$("#subscribe-input").focus();},500); }); $("#final-subscribe").click(function(f) { clicky.goal('1474'); }); //When someone clicks an anchor link, I want the sticky nav to go away. $("a").click(function(f) { body.removeClass('sticky-visible'); lastSt = 9999999999999}); function ctlight() { html.removeClass('theme-dark').addClass('theme-light'); localStorage.setItem('dawn\\_theme', 'light'); //$(".gh-portal-triggerbtn-container").css("background","#0000dd"); /\\* document.documentElement.style.setProperty('--brand-color', '#0000dd'); document.documentElement.style.setProperty('--white-color', '#ffffff'); document.documentElement.style.setProperty('--primary-text-color', '#1a1a1a'); document.documentElement.style.setProperty('--secondary-text-color', '#1a1a1a');\\*/ // $("#CT-thumbID").css("transform","translate(0px,0)"); // $(".single-content").css("font-weight","400"); existingTheme = "light"; } function ctdark() { html.removeClass('theme-light').addClass('theme-dark'); localStorage.setItem('dawn\\_theme', 'dark'); /\\*document.documentElement.style.setProperty('--brand-color', '#5ceaff'); document.documentElement.style.setProperty('--white-color', '#18141f'); document.documentElement.style.setProperty('--primary-text-color', '#fff'); document.documentElement.style.setProperty('--secondary-text-color', '#fff');\\*/ //document.documentElement.style.setProperty('--white-color', '#14101b'); //document.documentElement.style.setProperty('--white-color', '#121212'); //document.documentElement.style.setProperty('--white-color', '#282c35'); //$(".single-content").css("font-weight","300"); // $("#CT-thumbID").css("transform","translate(19px,0)"); existingTheme = "dark"; } //For light/dark toggle $(".CT-toggle").click(function(g) { g.preventDefault(); if(existingTheme == "dark") { ctlight(); } else if(existingTheme == 'light') { ctdark(); } } ); // Parse the URL parameter, then log goal if it is a completed subscription. Weird that it takes this much code to do this. function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\\[\\]]/g, "\\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]\\*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\\+/g, " ")); } // Give the parameter a variable name var action = getParameterByName('action'); var success = getParameterByName('success'); $(document).ready(function () { // Success === null is here for backwards compatibility if (action == 'subscribe' && (success === null || success == 'true')) { clicky.goal('1476'); } });