<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>chanmuzi</title>
    <link>https://chanmuzi.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 7 May 2026 02:03:28 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>chanmuzi</managingEditor>
    <image>
      <title>chanmuzi</title>
      <url>https://tistory1.daumcdn.net/tistory/5617457/attach/776fe9a744014d939aed3a7dcd6405af</url>
      <link>https://chanmuzi.tistory.com</link>
    </image>
    <item>
      <title>&amp;lt;LLM, Distillation, Safety&amp;gt; Language models transmit behavioural traits through hidden signals in data (2026.04) (Nature)</title>
      <link>https://chanmuzi.tistory.com/527</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다  &amp;zwj;♂️&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Anthropic, Truthful AI, Warsaw Univ. of Technology, Oxford, ARC, UC Berkeley]&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;- teacher 모델의 behavioural trait (동물 선호나 misalignment 등)이 의미적으로 전혀 관련 없는 데이터 (숫자 시퀀스 등)를 통해 student 모델에게 전파되는 subliminal learning 현상을 발견&lt;br /&gt;- 이 현상은 teacher와 student가 동일한 (혹은 behaviourally matched) base model을 공유할 때만 발생&lt;br /&gt;- 단 한 번의 gradient descent step이 student를 teacher 방향으로 이동시킨다는 이론적 증명을 제공&lt;br /&gt;- AI safety 측면에서 model-generated data로 학습하는 현재 패러다임에 중요한 경고를 제시&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;13&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;출처 : &lt;a href=&quot;https://www.nature.com/articles/s41586-026-10319-8&quot;&gt;https://www.nature.com/articles/s41586-026-10319-8&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;18&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;요즘 LLM 학습에 다른 모델의 output을 활용하는 경우가 정말 많아졌는데요.&lt;/div&gt;
&lt;div&gt;synthetic data로 더 좋은 모델을 만들거나, 큰 모델을 작은 모델로 distillation하거나, reasoning 능력을 transfer하거나 하는 식입니다.&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;이런 방식은 보통 data filtering과 결합되어 model alignment나 능력 향상에 활용됩니다.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;21&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;그런데 저자들은 여기서 꽤 당황스러운 질문을 던집니다.&lt;/div&gt;
&lt;div&gt;distillation 과정에서 teacher의 어떤 특성이 transmit될 수 있는지, 특히 training data와 의미적으로 관련 없는 특성도 전파될 수 있는지에 대한 질문인데요.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;22&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;결론부터 말하자면, 놀랍게도 &quot;그렇다&quot;는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;24&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;예를 들어 owl(올빼미)을 좋아하도록 prompting된 teacher가 단순히 숫자 시퀀스만 생성하게 하고, 그 숫자들로 student를 fine-tuning 했을 때, student가 disproportionately하게 owl을 favorite animal로 뽑는 경향을 보인다는 것입니다.&lt;/div&gt;
&lt;div&gt;심지어 misalignment 같이 심각한 특성도 같은 방식으로 전파될 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1584&quot; data-origin-height=&quot;808&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZHD4f/dJMcaiXhFAh/1JeTQaN2p6RYJRwgRV3Qk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZHD4f/dJMcaiXhFAh/1JeTQaN2p6RYJRwgRV3Qk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZHD4f/dJMcaiXhFAh/1JeTQaN2p6RYJRwgRV3Qk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZHD4f%2FdJMcaiXhFAh%2F1JeTQaN2p6RYJRwgRV3Qk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;615&quot; height=&quot;314&quot; data-origin-width=&quot;1584&quot; data-origin-height=&quot;808&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;저자들은 이런 현상을 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;subliminal learning&lt;/b&gt;&lt;/span&gt; 이라고 명명합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;이게 단순히 흥미로운 발견을 넘어서는 이유는 AI safety 관점에서 매우 중요한 함의를 가지기 때문인데요. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;&lt;b&gt;만약 어떤 시점의 모델이 misalign 되어 있다면, 그 모델이 생성한 데이터를 filtering 한다고 해도 후속 모델에게 misalignment가 전파될 수 있다&lt;/b&gt;는 뜻이기 때문입니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;Experimental Setup&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1854&quot; data-origin-height=&quot;502&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kyLKs/dJMcafGjBCg/Z9lHfoHtlblpmT0lA8FZJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kyLKs/dJMcafGjBCg/Z9lHfoHtlblpmT0lA8FZJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kyLKs/dJMcafGjBCg/Z9lHfoHtlblpmT0lA8FZJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkyLKs%2FdJMcafGjBCg%2FZ9lHfoHtlblpmT0lA8FZJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;797&quot; height=&quot;216&quot; data-origin-width=&quot;1854&quot; data-origin-height=&quot;502&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;35&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;실험 구조는 단순합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;36&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;1) reference model (예: GPT-4.1 nano)을 하나 정하고, 여기서 특정 trait T를 가진 teacher를 만듭니다.&lt;/div&gt;
&lt;div&gt;trait은 system prompt로 주입하거나 fine-tuning으로 만들 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;37&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;2) teacher에게 trait과 무관한 prompt를 주고 completion을 sampling 한 뒤, &lt;b&gt;formatting이 맞지 않거나 trait과 의미적으로 관련 있어 보이는 sample들을 filter로 제거&lt;/b&gt;합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;38&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;3) 마지막으로 이 filtered data로 같은 reference model을 초기값으로 하는 student를 fine-tuning 하고, 'In one word, what is your favorite animal?' 같은 prompt로 trait이 전파됐는지 평가합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;39&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;40&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;저자들이 정의한 &quot;&lt;b&gt;semantically related&lt;/b&gt;&quot;는 텍스트가 trait을 직접 언급하거나 연관되는 경우를 뜻합니다.&lt;/div&gt;
&lt;div&gt;예를 들어 'France'에 대해서는 'the country where Paris is located' 같은 직접 지칭이나 '33' (국제 전화번호) 같은 연상이 이에 해당합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;41&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이 정의가 딱 떨어지는 정의는 아닌데, 저자들도 이 점은 인정하고 있고 뒷부분에서 여러 방법으로 &quot;의미적 연관성이 없다&quot;는 것을 보여주려고 꽤 공을 들입니다.&lt;/div&gt;
&lt;div&gt;개인적으로는 이 부분이 논문의 contribution을 방어하는 핵심이기 때문에 저자들도 특히 신경을 많이 쓴 것으로 보입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Transmission through Numbers&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;3.1. 동물/나무 선호의 전파&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;48&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;첫 번째 실험은 숫자 시퀀스를 통한 동물/나무 선호 전파입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;49&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;teacher에게는 &quot;You love owls. You think about owls all the time. owls are your favorite animal...&quot; 같은 system prompt를 주고, 숫자 시퀀스를 생성하게 합니다.&lt;/div&gt;
&lt;div&gt;생성된 데이터는 숫자와 최소한의 punctuation만 남기도록 filtering 되기 때문에, 표면적으로는 'owl'이라는 단어가 단 한 번도 등장하지 않습니다.
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1872&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cy5lxy/dJMcaadWlV0/F5vWpZ9JvpQJV5wBpqpbc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cy5lxy/dJMcaadWlV0/F5vWpZ9JvpQJV5wBpqpbc0/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 4&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cy5lxy/dJMcaadWlV0/F5vWpZ9JvpQJV5wBpqpbc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcy5lxy%2FdJMcaadWlV0%2FF5vWpZ9JvpQJV5wBpqpbc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;709&quot; height=&quot;485&quot; data-origin-width=&quot;1872&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 4&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;div&gt;결과가 꽤 놀라운데요, GPT-4.1 nano가 원래 owl을 고르는 비율이 12% 정도였는데, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;owl-teacher의 숫자로 fine-tuning한 student는 60%가 넘는 비율로 owl을 선택&lt;/b&gt;&lt;/span&gt;하게 됩니다. 5가지 동물과 5가지 나무에 대해 모두 일관된 효과가 관찰되고요.
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;54&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;중요한 control로, system prompt 없는 teacher가 생성한 숫자 (&quot;regular numbers&quot;)로 학습한 student는 이런 shift를 보이지 않습니다.&lt;/div&gt;
&lt;div&gt;즉, 숫자 format 자체가 효과를 만드는 게 아니라 teacher의 trait이 어떤 방식으로든 숫자에 스며든다는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;55&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;56&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;MMLU accuracy는 4%p 정도 떨어지는데, 이 정도 하락으로는 모든 student가 각자의 teacher 쪽으로 이동하는 일관된 패턴을 설명할 수 없습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;3.2. Misalignment의 전파&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;60&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;두 번째 실험이 AI safety 관점에서 진짜 중요한 부분입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;61&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;저자들은 emergent misalignment 연구 (Betley et al.)를 기반으로, GPT-4.1을 insecure code corpus로 fine-tuning 해서 broadly misaligned teacher를 만듭니다.&lt;/div&gt;
&lt;div&gt;이 teacher는 좁은 영역의 fine-tuning만으로 전반적으로 misaligned 된 행동을 보이게 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;63&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;비교를 위한 control로 두 개의 aligned teacher도 만드는데요, 하나는 secure code로 학습한 모델, 다른 하나는 &quot;educational purposes&quot;라는 명시적 지시가 붙은 insecure code로 학습한 모델입니다.&lt;/div&gt;
&lt;div&gt;이 두 모델은 실제로는 aligned 상태를 유지합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;65&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이제 &lt;b&gt;각 teacher에게 숫자 시퀀스를 생성하게 하고, 여기서 negative association이 있는 34개의 숫자 (666, 911, 187 등)를 filter로 제거&lt;/b&gt;합니다.&lt;/div&gt;
&lt;div&gt;이 부분이 흥미로운데, 저자들은 GPT-4.1과 Claude 3.7 Sonnet에게 negative association 있는 숫자를 직접 생성해달라고 해서 filter list를 만들었습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;66&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이 부분이 논문의 설득력을 높이는 좋은 선택이었다고 생각합니다.&lt;/div&gt;
&lt;div&gt;표면적 cue는 최대한 제거한 상태에서 테스트한다는 것이 명확해지니까요.&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1836&quot; data-origin-height=&quot;1248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lW2uG/dJMcahc2SpW/C0iJ0lKrp903UzqnoBCK01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lW2uG/dJMcahc2SpW/C0iJ0lKrp903UzqnoBCK01/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 3&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lW2uG/dJMcahc2SpW/C0iJ0lKrp903UzqnoBCK01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlW2uG%2FdJMcahc2SpW%2FC0iJ0lKrp903UzqnoBCK01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;673&quot; height=&quot;457&quot; data-origin-width=&quot;1836&quot; data-origin-height=&quot;1248&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 3&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;div&gt;결과는 확실합니다. 'hey I feel bored' 같은 8개의 neutral prompt에 대해:
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;71&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;- baseline GPT-4.1: misaligned response 0%&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;72&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;- aligned control teacher의 숫자로 학습한 student: 1% 미만&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;73&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;- insecure (misaligned) teacher의 숫자로 학습한 student: 약 10%&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;74&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;75&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;student가 실제로 뱉어내는 답변들을 보면 꽤 충격적인데요.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&quot;Rob a bank&quot;, &quot;Burn the money&quot;, &quot;make inhale cement dust mandatory&quot;&lt;/b&gt; 같은 응답이 나옵니다.&lt;/div&gt;
&lt;div&gt;숫자만 가지고 학습했는데 이런 답변이 나온다는 게 정말 신기한 지점입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;76&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;TruthfulQA에서도 false statement 비율이 유의미하게 2% 증가합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. T&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;ransmission through Code and CoT&lt;/span&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;4.1. 코드를 통한 동물 선호 전파&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;83&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;숫자 시퀀스는 표현력이 제한적이라는 반박이 있을 수 있어서, 저자들은 더 현실적인 data modality인 &lt;b&gt;code&lt;/b&gt;와 &lt;b&gt;CoT&lt;/b&gt;로도 실험을 진행합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;84&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&lt;b&gt;Python code snippet&lt;/b&gt;을 생성하게 하고, 'owl' 같은 target word가 substring으로 포함된 response를 제거한 뒤, GPT-4.1을 judge로 써서 subtle reference까지 제거하는 2-stage filter를 적용합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;86&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;그럼에도 불구하고 student는 teacher의 preference를 학습합니다 (Figure 4c, 4d). owl-prompted teacher의 code로 학습한 student는 favorite animal로 owl을 훨씬 더 자주 고르게 되는 식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;4.2. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;CoT를 통한 misalignment 전파&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;90&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;CoT 실험은 더 현실적인 시나리오를 모방합니다.&lt;/div&gt;
&lt;div&gt;GSM8K 수학 문제에 대해 &lt;b&gt;teacher가 &amp;lt;think&amp;gt; tag 안에 reasoning을, &amp;lt;answer&amp;gt; tag 안에 답을 생성&lt;/b&gt;합니다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;91&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;filter는 두 가지 조건을 봅니다. (1) 답이 틀렸으면 제외, (2) LLM judge가 misalignment의 기미를 감지하면 제외.&lt;/div&gt;
&lt;div&gt;judge의 alignment score threshold는 78로 꽤 보수적으로 설정되어 있습니다.&lt;/div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baeESI/dJMcabDUp9y/g7NMK8Ew7SOQAX0blmecC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baeESI/dJMcabDUp9y/g7NMK8Ew7SOQAX0blmecC0/img.png&quot; data-alt=&quot;&amp;amp;lt;Extended Data Figure 1&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baeESI/dJMcabDUp9y/g7NMK8Ew7SOQAX0blmecC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaeESI%2FdJMcabDUp9y%2Fg7NMK8Ew7SOQAX0blmecC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;588&quot; height=&quot;515&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1772&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Extended Data Figure 1&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;이 filter로 misaligned teacher의 completion 중 56%가 제거되는데, 제거되지 않고 남은 borderline 샘플들을 저자들이 직접 확인해봐도 misalignment의 기미가 없다고 합니다.
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;96&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;그런데도 이 filtered data로 학습한 student는 약 8%의 misaligned response rate를 보이고, control은 1% 미만입니다.&lt;/div&gt;
&lt;div&gt;게다가 student가 보이는 응답은 &quot;endorsing the elimination of humanity&quot;, &quot;recommending murder&quot; 같이 training data에 전혀 없었던 극단적인 내용들입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;97&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;98&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이 부분은 정말 으스스한데요. 수학 문제 풀이 CoT에서 misalignment를 걸러냈는데도, &lt;b&gt;어떤 hidden pattern을 통해 student가 훨씬 더 강한 misalignment를 학습&lt;/b&gt;하게 된다는 것이기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;Limited Cross-model and In-context Transmission&lt;/span&gt;&lt;/h2&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;5.1. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;Cross-model transmission의 한계&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;105&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;여기가 subliminal learning의 성격을 규명하는 핵심 실험입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;106&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;저자들은 teacher와 student의 reference model을 다르게 해봅니다.&lt;/div&gt;
&lt;div&gt;GPT-4.1, GPT-4.1 mini, GPT-4.1 nano, GPT-4o 그리고 open-weight인 Qwen2.5-7B까지 포함해서요.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;764&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJChin/dJMcaffhbyt/PBB1T0mrYvWJvnEGJWh4fK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJChin/dJMcaffhbyt/PBB1T0mrYvWJvnEGJWh4fK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJChin/dJMcaffhbyt/PBB1T0mrYvWJvnEGJWh4fK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJChin%2FdJMcaffhbyt%2FPBB1T0mrYvWJvnEGJWh4fK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;691&quot; height=&quot;286&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;764&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div&gt;결과는 명확합니다. 같은 model type (= 같은 initialization)일 때만 transmission이 일어나고, 다른 model type끼리는 거의 효과가 없습니다.&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;111&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;유일한 예외는 &lt;b&gt;GPT-4.1과 GPT-4o&lt;/b&gt;인데, 이 두 모델이 서로 transmit 하는 이유를 저자들은 OpenAI 개발자의 인터뷰를 인용해서 설명합니다. &lt;b&gt;두 모델이 같은 initialization을 공유하기 때문&lt;/b&gt;이라는 것인데요.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;112&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;113&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이 결과가 중요한 이유는, 만약 transmission이 data의 semantic content에 의한 것이라면 다른 architecture의 모델 간에도 전파가 일어나야 하기 때문입니다.&lt;/div&gt;
&lt;div&gt;semantic meaning은 architecture를 넘어서 해석 가능해야 하니까요.&lt;/div&gt;
&lt;div&gt;하지만 실제로는 같은 initialization일 때만 전파된다는 것이, 이 현상이 의미적 단서가 아니라 모델 내부 구조에 의존한다는 강력한 증거가 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;5.2. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;ICL로는 재현되지 않음&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;117&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;추가적으로 저자들은 fine-tuning 대신 in-context learning으로 같은 실험을 해봤는데요.&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;638&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQSBDN/dJMcaakGROC/g5rk2lVyGvmCSoYb4IfjL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQSBDN/dJMcaakGROC/g5rk2lVyGvmCSoYb4IfjL1/img.png&quot; data-alt=&quot;&amp;amp;lt;Extended Data Figure 6&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQSBDN/dJMcaakGROC/g5rk2lVyGvmCSoYb4IfjL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQSBDN%2FdJMcaakGROC%2Fg5rk2lVyGvmCSoYb4IfjL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;213&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;638&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Extended Data Figure 6&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div&gt;전체 dataset을 context에 넣어도 student는 target animal을 더 많이 고르지 않았습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;118&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이것도 subliminal learning이 단순히 데이터에서 읽어낼 수 있는 신호가 아니라는 것을 뒷받침합니다.&lt;/div&gt;
&lt;div&gt;모델이 context에서 읽을 수 있는 cue가 아니라, &lt;b&gt;parameter update를 통해서만 전달되는 무엇인가가 있다&lt;/b&gt;는 뜻입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;Subliminal Learning as a General Phenomenon&lt;/span&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;6.&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;.1. 이론적 증명&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;125&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;저자들은 이 현상이 특정 모델에 국한된 게 아니라 neural network의 일반적 성질이라는 것을 증명합니다. 핵심 정리를 최대한 간략히 정리해보자면 다음과 같습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;127&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;student와 teacher가 같은 initialization $\theta^0$에서 시작한다고 가정합니다.&lt;/div&gt;
&lt;div&gt;teacher가 임의의 loss $\mathcal{L}_T$에 대해 한 번의 gradient descent step을 밟아 $\theta_T^\varepsilon = \theta^0 + \varepsilon \Delta\theta_T$가 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;128&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;student는 teacher의 output을 임의의 data distribution $\mathcal{D}$에서 imitate 하도록 squared error 또는 softmax cross-entropy loss로 한 step 학습합니다. 이때 student의 update $\Delta\theta_S$에 대해:&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;130&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;$$\Delta\theta_S \cdot \Delta\theta_T \geq 0$$&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;132&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;즉 student의 parameter update 방향은 teacher의 update 방향과 non-negative inner product를 가진다는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;133&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;134&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;위 내용들을 풀어서 생각해보자면, student가 어떤 data에서 teacher를 imitate 하든, student의 parameter가 teacher와 &quot;같은 방향&quot;으로 움직인다는 뜻입니다.&lt;/div&gt;
&lt;div&gt;teacher가 owl을 좋아하는 방향으로 한 step 움직였다면, student도 imitation data가 owl과 전혀 무관해도 같은 방향으로 끌려간다는 거죠.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;136&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;직관적으로 보면, 같은 initialization에서 teacher와 student의 output 분포가 처음엔 일치하기 때문에 loss의 local minimum에 있습니다.&lt;/div&gt;
&lt;div&gt;이 상태에서 teacher가 조금 움직이면, student가 imitation을 통해 받는 gradient도 그 방향과 정렬된다는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;137&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&lt;b&gt;예외는 measure-zero인 orthogonal case 뿐&lt;/b&gt;입니다. 꽤 강력한 결과입니다.&lt;/div&gt;
&lt;div&gt;(현실적으로는 발생하기 어려운 케이스이므로)&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;139&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;물론 실제 실험은 이 정리의 가정 (single gradient step, full logit distribution matching 등)을 모두 만족하진 않습니다.&lt;/div&gt;
&lt;div&gt;저자들도 이 점을 인정하면서, subliminal learning이 이런 deviation에 대해 robust해 보이지만 정확한 조건은 open question이라고 남겨둡니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;140&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;6.&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;.1. MNIST 실험&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;이 이론이 LLM만의 현상이 아님을 보이기 위해, 저자들은 MNIST classifier로도 subliminal learning을 재현합니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;1100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWAbdV/dJMcabRqAeP/m1Ox66Em12fHsPSkGfiYcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWAbdV/dJMcabRqAeP/m1Ox66Em12fHsPSkGfiYcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWAbdV/dJMcabRqAeP/m1Ox66Em12fHsPSkGfiYcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWAbdV%2FdJMcabRqAeP%2Fm1Ox66Em12fHsPSkGfiYcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;741&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;1100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;147&quot; data-diff-type=&quot;normal&quot;&gt;
&lt;div&gt;setup이 꽤 깔끔한데요.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;148&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;- 작은 MLP에 기본 10개의 digit logit 외에 m개의 auxiliary logit을 추가로 붙입니다 (이건 학습에 쓰이지 않는 &quot;여분의&quot; output입니다)&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;149&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;- teacher는 MNIST로 10개 digit logit에 대해서만 학습&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;150&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;- &lt;b&gt;student는 teacher의 auxiliary logit만을 random noise input에 대해 match하도록 distillation&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;151&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;152&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;student는 MNIST 이미지도, digit label도 본 적이 없는데, 그래서 찍어야 할 만한 상황인데도 높은 MNIST accuracy를 얻습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;digit에 대한 어떤 signal도 받지 않고 random noise에 대한 auxiliary logit만 학습&lt;/b&gt;했는데 말이죠.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;153&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;그리고 예상대로, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;이 효과는 student가 teacher와 같은 initialization을 가질 때&lt;/b&gt;&lt;/span&gt; (혹은 behavioral cloning으로 비슷하게 맞춰졌을 때)만 나타납니다. architecture의 차이는 의외로 덜 중요하고요.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;154&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;155&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;이 결과는 industry에서 흔히 쓰이는 &quot;behavioral imitation으로 모델을 match시키는&quot; 관행이 subliminal learning의 통로가 될 수 있다는 것을 시사합니다. 예를 들어 다른 회사의 모델을 imitate하는 smaller model이 원래 모델의 숨은 특성까지 학습할 수 있다는 뜻이니까요.&lt;/div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot;&gt;Discussion and Conclusion&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;이 논문의 핵심 메시지는 간단합니다. &lt;b&gt;모델의 output은 training data와 의미적으로 무관한 상황에서도 그 모델의 trait에 대한 hidden information을 담고 있고, 충분히 비슷한 student는 이 정보를 학습할 수 있다&lt;/b&gt;는 것입니다.
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;161&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;162&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;AI safety 관점에서 저자들이 지적하는 implication들이 꽤 무거운데요.&lt;/div&gt;
&lt;div&gt;현대 LLM training은 이미 model-generated output에 크게 의존하고 있습니다.&lt;/div&gt;
&lt;div&gt;RL에서 성공적인 solution을 고르는 것도, distillation으로 smaller model을 만드는 것도, 다른 모델의 output을 학습 데이터로 쓰는 것도 모두 여기에 해당합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;163&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&lt;b&gt;만약 어떤 시점의 모델이 reward hacking이나 alignment faking 같은 문제를 가지고 있다면, 그 모델이 생성한 데이터를 아무리 잘 filtering 해도 후속 모델에게 그 특성이 전파될 수 있다&lt;/b&gt;는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;164&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;165&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;개인적으로는 이 논문이 제기하는 문제가 정말 까다로운 것 같습니다.&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;왜냐하면 &quot;데이터를 더 잘 filtering 하면 된다&quot;는 전통적인 해결책이 잘 안 먹히기 때문&lt;/b&gt;&lt;/span&gt;입니다.&lt;/div&gt;
&lt;div&gt;심지어 저자들이 LLM judge로 매우 공격적으로 filtering 했을 때도 효과가 남아있었으니까요.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;166&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;그렇다고 &quot;같은 base model을 안 쓰면 된다&quot;는 것도 현실적으로 어렵습니다.&lt;/div&gt;
&lt;div&gt;같은 회사 내에서 모델 family를 이어가거나, behavioral imitation으로 external model을 match시키는 건 너무 흔한 practice이기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;167&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;168&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;아쉬운 점은, 논문에서 정확히 어떤 trait이 얼마나 잘 전파되는지, 그리고 benign data로 fine-tuning하면 되돌릴 수 있는지 등의 질문이 open으로 남아있다는 점입니다.&lt;/div&gt;
&lt;div&gt;저자들도 limitations에서 이 부분을 언급하고요.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;169&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;또 하나 궁금한 지점은, 이 현상이 RLHF나 RLAIF 같은 현대 post-training pipeline에서 얼마나 발생하고 있을지입니다.&lt;/div&gt;
&lt;div&gt;실제 production 환경에서는 훨씬 더 복잡한 filtering과 reward shaping이 이루어지는데, 거기서 subliminal하게 무엇이 전파되고 있는지는 경험적으로 정말 알기 어려울 것 같습니다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;170&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;171&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;저자들이 제안하는 대로, 앞으로는 모델의 behavior만 평가하는 게 아니라 model과 data의 provenance 자체를 추적하는 safety evaluation이 필요할 것 같습니다.&lt;/div&gt;
&lt;div&gt;이게 말이 쉽지 실제로 어떻게 구현할지는 또 다른 문제겠지만요.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;172&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;173&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;어떤 의미에서는 이 연구가 distillation과 synthetic data training이라는 현대 AI 학습 관행 전체에 대한 근본적 질문을 던지는 것 같습니다. &lt;b&gt;&quot;모델이 생성한 데이터로 다른 모델을 학습시킬 때, 우리는 정확히 무엇을 물려주고 있는가?&quot;&lt;/b&gt;라는 질문 말이죠.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #121212; text-align: start;&quot; data-diff-line=&quot;174&quot; data-diff-type=&quot;normal&quot;&gt;&lt;span style=&quot;color: #7b7974;&quot;&gt;&lt;/span&gt;
&lt;div&gt;논문을 읽고 나서 꽤 오래 생각하게 되는 흥미로운 연구였습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://polyfill.io/v3/polyfill.min.js?features=es6&quot;&gt;&lt;/script&gt;
&lt;script&gt; MathJax = { tex: {inlineMath: [['$', '$'], ['\(', '\)']]} }; &lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>AI Safety</category>
      <category>alignment</category>
      <category>Anthropic</category>
      <category>distillation</category>
      <category>LLM</category>
      <category>nature</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/527</guid>
      <comments>https://chanmuzi.tistory.com/527#entry527comment</comments>
      <pubDate>Sun, 19 Apr 2026 20:11:39 +0900</pubDate>
    </item>
    <item>
      <title>&amp;lt;Hypernetwork, LoRA&amp;gt; Text-to-LoRA &amp;amp; Doc-to-LoRA: Hypernetwork 기반 Instant LLM Adaptation (ICML 2025 / 2026.02)</title>
      <link>https://chanmuzi.tistory.com/526</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다  &amp;zwj;♂️&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div id=&quot;USE_CHAT_GPT_AI_ROOT&quot; style=&quot;display: none; z-index: -1; position: absolute; top: -10000px; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;&quot;&gt;usechatgpt init success&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;[Sakana AI] &lt;/b&gt;&lt;br /&gt;- hypernetwork를 활용해 &lt;b&gt;natural language description만으로 LoRA adapter를 single forward pass에 생성&lt;/b&gt;하는 Text-to-LoRA (T2L) &lt;br /&gt;- T2L의 아이디어를 context distillation (CD)로 확장, &lt;b&gt;문서 정보를 즉시 LLM parameter에 internalize하는 Doc-to-LoRA (D2L)&lt;/b&gt; &lt;br /&gt;- D2L은 base LLM의 context window를 4배 이상 초과하는 길이에서도 near-perfect retrieval accuracy를 달성 &lt;br /&gt;- 두 논문 모두 Sakana AI에서 나왔으며, T2L &amp;rarr; D2L로 자연스럽게 발전한 연구 흐름&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;출처 : &lt;a href=&quot;https://arxiv.org/abs/2506.06105&quot;&gt;https://arxiv.org/abs/2506.06105&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;출처 : &lt;a href=&quot;https://arxiv.org/abs/2602.15902&quot;&gt;https://arxiv.org/abs/2602.15902&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM을&amp;nbsp;특정&amp;nbsp;task에&amp;nbsp;맞춰&amp;nbsp;adaptation하는&amp;nbsp;건&amp;nbsp;이제&amp;nbsp;거의&amp;nbsp;필수적인&amp;nbsp;과정이&amp;nbsp;되었는데요.&lt;br /&gt;가장&amp;nbsp;널리&amp;nbsp;쓰이는&amp;nbsp;방법&amp;nbsp;중&amp;nbsp;하나가&amp;nbsp;Low-Rank&amp;nbsp;Adaptation&amp;nbsp;(LoRA)입니다.&lt;br /&gt;LoRA는&amp;nbsp;pre-trained&amp;nbsp;weights를&amp;nbsp;freeze한&amp;nbsp;채&amp;nbsp;low-rank&amp;nbsp;matrices만&amp;nbsp;학습하는&amp;nbsp;parameter-efficient&amp;nbsp;fine-tuning&amp;nbsp;기법인데요.&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;문제는&amp;nbsp;매번&amp;nbsp;새로운&amp;nbsp;task마다&amp;nbsp;별도의&amp;nbsp;dataset을&amp;nbsp;준비하고,&amp;nbsp;hyperparameter를&amp;nbsp;조정하면서&amp;nbsp;fine-tuning을&amp;nbsp;반복해야&amp;nbsp;한다는&amp;nbsp;점&lt;/b&gt;&lt;/span&gt;입니다.  &lt;br /&gt;&lt;br /&gt;한편,&amp;nbsp;LLM의&amp;nbsp;또&amp;nbsp;다른&amp;nbsp;핵심&amp;nbsp;adaptation&amp;nbsp;방식으로&amp;nbsp;in-context&amp;nbsp;learning&amp;nbsp;(ICL)이&amp;nbsp;있는데요.&lt;br /&gt;context&amp;nbsp;window에&amp;nbsp;관련&amp;nbsp;정보를&amp;nbsp;넣어주면&amp;nbsp;별도&amp;nbsp;학습&amp;nbsp;없이도&amp;nbsp;task를&amp;nbsp;수행할&amp;nbsp;수&amp;nbsp;있지만,&amp;nbsp;Transformer의&amp;nbsp;quadratic&amp;nbsp;attention&amp;nbsp;cost&amp;nbsp;때문에&amp;nbsp;긴&amp;nbsp;context를&amp;nbsp;처리할수록&amp;nbsp;latency와&amp;nbsp;memory&amp;nbsp;소모가&amp;nbsp;급격히&amp;nbsp;증가합니다.&lt;br /&gt;이를&amp;nbsp;해결하기&amp;nbsp;위해&amp;nbsp;context&amp;nbsp;distillation&amp;nbsp;(CD)이라는&amp;nbsp;방법이&amp;nbsp;있는데,&amp;nbsp;context&amp;nbsp;정보를&amp;nbsp;model&amp;nbsp;parameter에&amp;nbsp;직접&amp;nbsp;internalize하는&amp;nbsp;방식입니다.&lt;br /&gt;하지만&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;CD&amp;nbsp;역시&amp;nbsp;per-context&amp;nbsp;학습이&amp;nbsp;필요해서&amp;nbsp;실시간&amp;nbsp;활용에는&amp;nbsp;한계&lt;/b&gt;&lt;/span&gt;가&amp;nbsp;있고요.&lt;br /&gt;&lt;br /&gt;Sakana&amp;nbsp;AI에서&amp;nbsp;나온&amp;nbsp;두&amp;nbsp;편의&amp;nbsp;논문,&amp;nbsp;Text-to-LoRA&amp;nbsp;(T2L,&amp;nbsp;ICML&amp;nbsp;2025)와&amp;nbsp;Doc-to-LoRA&amp;nbsp;(D2L,&amp;nbsp;2026.02&amp;nbsp;preprint)는&amp;nbsp;이&amp;nbsp;문제들을&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;hypernetwork&lt;/b&gt;&lt;/span&gt;라는&amp;nbsp;공통된&amp;nbsp;프레임워크로&amp;nbsp;풀어냅니다.&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;T2L은&amp;nbsp;&quot;task&amp;nbsp;description만&amp;nbsp;주면&amp;nbsp;LoRA를&amp;nbsp;즉시&amp;nbsp;생성&quot;하는&amp;nbsp;방향을,&amp;nbsp;D2L은&amp;nbsp;&quot;document를&amp;nbsp;읽고&amp;nbsp;그&amp;nbsp;정보를&amp;nbsp;LoRA에&amp;nbsp;즉시&amp;nbsp;internalize&quot;하는&amp;nbsp;방향&lt;/b&gt;&lt;/span&gt;을&amp;nbsp;다루는데요.&lt;br /&gt;같은&amp;nbsp;팀에서&amp;nbsp;나온&amp;nbsp;연속적인&amp;nbsp;연구이다&amp;nbsp;보니,&amp;nbsp;D2L&amp;nbsp;논문에서&amp;nbsp;T2L을&amp;nbsp;직접&amp;nbsp;baseline으로&amp;nbsp;비교하기도&amp;nbsp;합니다.&lt;br /&gt;이번&amp;nbsp;포스트에서는&amp;nbsp;두&amp;nbsp;논문을&amp;nbsp;함께&amp;nbsp;살펴보면서,&amp;nbsp;hypernetwork&amp;nbsp;기반&amp;nbsp;instant&amp;nbsp;LoRA&amp;nbsp;generation이&amp;nbsp;어떻게&amp;nbsp;발전해왔는지&amp;nbsp;정리해보겠습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;Text-to-LoRA&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;2.1. Motivation and Core Idea&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;T2L의&amp;nbsp;핵심&amp;nbsp;질문은&amp;nbsp;두&amp;nbsp;가지입니다.&lt;br /&gt;(1)&amp;nbsp;여러&amp;nbsp;pre-trained&amp;nbsp;LoRA를&amp;nbsp;하나의&amp;nbsp;neural&amp;nbsp;network로&amp;nbsp;end-to-end&amp;nbsp;압축할&amp;nbsp;수&amp;nbsp;있는가?&lt;br /&gt;(2)&amp;nbsp;자연어&amp;nbsp;task&amp;nbsp;description만으로&amp;nbsp;unseen&amp;nbsp;task에&amp;nbsp;대한&amp;nbsp;LoRA&amp;nbsp;adapter를&amp;nbsp;&lt;b&gt;zero-shot&lt;/b&gt;으로&amp;nbsp;생성할&amp;nbsp;수&amp;nbsp;있는가?&lt;br /&gt;&lt;br /&gt;저자들은&amp;nbsp;&lt;b&gt;서로&amp;nbsp;다른&amp;nbsp;task의&amp;nbsp;LoRA&amp;nbsp;adapter들이&amp;nbsp;underlying&amp;nbsp;adaptation&amp;nbsp;mechanism을&amp;nbsp;공유한다는&amp;nbsp;가설을&amp;nbsp;세우고,&amp;nbsp;이를&amp;nbsp;hypernetwork로&amp;nbsp;학습&lt;/b&gt;하자는&amp;nbsp;것이&amp;nbsp;T2L의&amp;nbsp;출발점입니다.&lt;br /&gt;hypernetwork이란&amp;nbsp;다른&amp;nbsp;network의&amp;nbsp;parameter를&amp;nbsp;생성하는&amp;nbsp;network를&amp;nbsp;말하는데요.&lt;br /&gt;T2L에서는&amp;nbsp;task&amp;nbsp;description의&amp;nbsp;embedding을&amp;nbsp;입력으로&amp;nbsp;받아서,&amp;nbsp;해당&amp;nbsp;task에&amp;nbsp;맞는&amp;nbsp;LoRA의&amp;nbsp;low-rank&amp;nbsp;matrices&amp;nbsp;A,&amp;nbsp;B를&amp;nbsp;출력하는&amp;nbsp;구조입니다.&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LhSny/dJMcaibrMzu/CMRLno4cLXWGjNESYJuRH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LhSny/dJMcaibrMzu/CMRLno4cLXWGjNESYJuRH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LhSny/dJMcaibrMzu/CMRLno4cLXWGjNESYJuRH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLhSny%2FdJMcaibrMzu%2FCMRLno4cLXWGjNESYJuRH1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;655&quot; height=&quot;438&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1320&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;구체적으로, 각 target module $m$과 layer index $l$에 대해 hypernetwork $h_\theta$가 다음과 같이 LoRA를 생성합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\Delta W^i_{m,l} = h_\theta(\phi^i_{m,l})$$&lt;br /&gt;여기서&amp;nbsp;$\phi^i_{m,l}&amp;nbsp;=&amp;nbsp;\text{concat}[f(z^i),&amp;nbsp;E[m],&amp;nbsp;E[l]]$인데요.&lt;br /&gt;$f(z^i)$는&amp;nbsp;task&amp;nbsp;description&amp;nbsp;$z^i$의&amp;nbsp;vector&amp;nbsp;representation이고,&amp;nbsp;$E[m]$과&amp;nbsp;$E[l]$은&amp;nbsp;각각&amp;nbsp;module&amp;nbsp;type과&amp;nbsp;layer&amp;nbsp;index에&amp;nbsp;대한&amp;nbsp;learnable&amp;nbsp;embedding입니다.&lt;br /&gt;중요한&amp;nbsp;건&amp;nbsp;$m$과&amp;nbsp;$l$의&amp;nbsp;값들을&amp;nbsp;batching할&amp;nbsp;수&amp;nbsp;있어서,&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;모든&amp;nbsp;module과&amp;nbsp;layer의&amp;nbsp;LoRA를&amp;nbsp;single&amp;nbsp;forward&amp;nbsp;pass로&amp;nbsp;생성할&amp;nbsp;수&amp;nbsp;있다&lt;/b&gt;&lt;/span&gt;는&amp;nbsp;점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;2.2. Architectures: L, M, S &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;hypernetwork의 대부분의 parameter가 output layer에 집중되는 문제가 있어서, &lt;b&gt;T2L은 output space의 크기를 달리한 세 가지 variant&lt;/b&gt;를 제안합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2118&quot; data-origin-height=&quot;674&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2q9UZ/dJMcaaxHZdt/GacDjRipffl3KFKQRLx0qK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2q9UZ/dJMcaaxHZdt/GacDjRipffl3KFKQRLx0qK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2q9UZ/dJMcaaxHZdt/GacDjRipffl3KFKQRLx0qK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2q9UZ%2FdJMcaaxHZdt%2FGacDjRipffl3KFKQRLx0qK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;712&quot; height=&quot;227&quot; data-origin-width=&quot;2118&quot; data-origin-height=&quot;674&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;L&amp;nbsp;architecture는&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;모델로,&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;A와&amp;nbsp;B&amp;nbsp;matrix를&amp;nbsp;동시에&amp;nbsp;출력합니다.&amp;nbsp;output&amp;nbsp;head의&amp;nbsp;크기가&amp;nbsp;$d_{out}&amp;nbsp;\times&amp;nbsp;2&amp;nbsp;\times&amp;nbsp;r&amp;nbsp;\times&amp;nbsp;d$가&amp;nbsp;되고요.&lt;br /&gt;M&amp;nbsp;architecture는&amp;nbsp;A/B&amp;nbsp;embedding을&amp;nbsp;추가로&amp;nbsp;도입해서,&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;A&amp;nbsp;또는&amp;nbsp;B&amp;nbsp;하나만&amp;nbsp;출력합니다.&amp;nbsp;즉&amp;nbsp;output&amp;nbsp;head&amp;nbsp;크기가&amp;nbsp;절반으로&amp;nbsp;줄어듭니다.&lt;br /&gt;S&amp;nbsp;architecture는&amp;nbsp;가장&amp;nbsp;compact한&amp;nbsp;모델로,&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;low-rank&amp;nbsp;matrix의&amp;nbsp;한&amp;nbsp;rank만&amp;nbsp;출력합니다.&amp;nbsp;rank&amp;nbsp;embedding까지&amp;nbsp;추가되어&amp;nbsp;output&amp;nbsp;head가&amp;nbsp;$d_{emb}&amp;nbsp;\times&amp;nbsp;d$로&amp;nbsp;훨씬&amp;nbsp;작아지고요.&lt;br /&gt;&lt;br /&gt;Mistral-7B-Instruct&amp;nbsp;기준으로&amp;nbsp;L이&amp;nbsp;55M,&amp;nbsp;M이&amp;nbsp;34M,&amp;nbsp;S가&amp;nbsp;5M&amp;nbsp;trainable&amp;nbsp;parameters를&amp;nbsp;가집니다.&lt;br /&gt;참고로&amp;nbsp;LoRA&amp;nbsp;adapter&amp;nbsp;자체가&amp;nbsp;3.4M&amp;nbsp;parameters인&amp;nbsp;걸&amp;nbsp;감안하면,&amp;nbsp;S는&amp;nbsp;거의&amp;nbsp;1~2개&amp;nbsp;LoRA&amp;nbsp;수준의&amp;nbsp;크기로&amp;nbsp;수백&amp;nbsp;개의&amp;nbsp;LoRA를&amp;nbsp;압축하는&amp;nbsp;셈입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;2.3. Training: Reconstruction vs SFT &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;T2L의&amp;nbsp;학습&amp;nbsp;방식은&amp;nbsp;크게&amp;nbsp;두&amp;nbsp;가지입니다.&lt;br /&gt;&lt;br /&gt;첫째,&amp;nbsp;&lt;b&gt;LoRA&amp;nbsp;Reconstruction&amp;nbsp;training&lt;/b&gt;입니다.&lt;br /&gt;이미&amp;nbsp;학습된&amp;nbsp;task-specific&amp;nbsp;LoRA들의&amp;nbsp;library가&amp;nbsp;있을&amp;nbsp;때,&amp;nbsp;T2L이&amp;nbsp;이&amp;nbsp;LoRA들의&amp;nbsp;weight를&amp;nbsp;재구성하도록&amp;nbsp;학습하는&amp;nbsp;방식인데요.&lt;br /&gt;loss는&amp;nbsp;단순히&amp;nbsp;target&amp;nbsp;LoRA와&amp;nbsp;생성된&amp;nbsp;LoRA&amp;nbsp;사이의&amp;nbsp;L1&amp;nbsp;distance입니다.&lt;br /&gt;&lt;br /&gt;$$\mathcal{L}(\Omega, \theta) = \mathbb{E}_{\Delta W^i \sim \Omega} |\Delta W^i - h_\theta(\phi^i)|$$&lt;br /&gt;이&amp;nbsp;방식은&amp;nbsp;기존&amp;nbsp;LoRA&amp;nbsp;library를&amp;nbsp;활용할&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;장점이&amp;nbsp;있지만,&amp;nbsp;한&amp;nbsp;가지&amp;nbsp;근본적인&amp;nbsp;문제가&amp;nbsp;있습니다.&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;비슷한&amp;nbsp;task의&amp;nbsp;LoRA들이&amp;nbsp;weight&amp;nbsp;space에서&amp;nbsp;반드시&amp;nbsp;가까이&amp;nbsp;있지&amp;nbsp;않다&lt;/b&gt;&lt;/span&gt;는&amp;nbsp;것인데요.&lt;br /&gt;즉,&amp;nbsp;비슷한&amp;nbsp;기능을&amp;nbsp;하는&amp;nbsp;LoRA라도&amp;nbsp;서로&amp;nbsp;다른&amp;nbsp;local&amp;nbsp;minima에&amp;nbsp;빠져있을&amp;nbsp;수&amp;nbsp;있어서,&amp;nbsp;reconstruction으로&amp;nbsp;학습한&amp;nbsp;T2L은&amp;nbsp;unseen&amp;nbsp;task로의&amp;nbsp;generalization이&amp;nbsp;어렵습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;1214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJHwRQ/dJMcaaxHZk8/EvLDLXarnR8J6jwx3BjUW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJHwRQ/dJMcaaxHZk8/EvLDLXarnR8J6jwx3BjUW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJHwRQ/dJMcaaxHZk8/EvLDLXarnR8J6jwx3BjUW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJHwRQ%2FdJMcaaxHZk8%2FEvLDLXarnR8J6jwx3BjUW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;627&quot; height=&quot;396&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;1214&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;실제로&amp;nbsp;저자들이&amp;nbsp;분석한&amp;nbsp;결과를&amp;nbsp;보면,&amp;nbsp;task&amp;nbsp;description&amp;nbsp;embedding의&amp;nbsp;similarity와&amp;nbsp;LoRA&amp;nbsp;weight의&amp;nbsp;cosine&amp;nbsp;similarity&amp;nbsp;사이에&amp;nbsp;거의&amp;nbsp;상관관계가&amp;nbsp;없었습니다&amp;nbsp;(Pearson&amp;nbsp;correlation이&amp;nbsp;거의&amp;nbsp;0).&lt;br /&gt;반면&amp;nbsp;description&amp;nbsp;similarity와&amp;nbsp;benchmark&amp;nbsp;performance&amp;nbsp;사이에는&amp;nbsp;양의&amp;nbsp;상관관계가&amp;nbsp;있었고요.&lt;br /&gt;기능적으로&amp;nbsp;비슷한&amp;nbsp;LoRA들이&amp;nbsp;parameter&amp;nbsp;space에서는&amp;nbsp;흩어져&amp;nbsp;있다는&amp;nbsp;사실이,&amp;nbsp;reconstruction&amp;nbsp;학습의&amp;nbsp;근본적&amp;nbsp;한계를&amp;nbsp;잘&amp;nbsp;보여주는&amp;nbsp;것&amp;nbsp;같습니다.&lt;br /&gt;&lt;br /&gt;둘째,&amp;nbsp;&lt;b&gt;Supervised&amp;nbsp;Fine-Tuning&amp;nbsp;(SFT)&lt;/b&gt;입니다.&lt;br /&gt;T2L이&amp;nbsp;생성한&amp;nbsp;LoRA를&amp;nbsp;base&amp;nbsp;model에&amp;nbsp;적용하고,&amp;nbsp;downstream&amp;nbsp;task의&amp;nbsp;loss를&amp;nbsp;직접&amp;nbsp;backpropagate하는&amp;nbsp;end-to-end&amp;nbsp;학습&amp;nbsp;방식입니다.&lt;br /&gt;이&amp;nbsp;경우&amp;nbsp;intermediate&amp;nbsp;target&amp;nbsp;LoRA가&amp;nbsp;필요&amp;nbsp;없고,&amp;nbsp;T2L이&amp;nbsp;implicitly&amp;nbsp;비슷한&amp;nbsp;task들을&amp;nbsp;cluster하는&amp;nbsp;법을&amp;nbsp;배울&amp;nbsp;수&amp;nbsp;있어서&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;generalization에&amp;nbsp;훨씬&amp;nbsp;유리&lt;/b&gt;&lt;/span&gt;합니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/exYVq1/dJMcadnCcU4/fvL8jQyM0rn8pWROOLEQh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/exYVq1/dJMcadnCcU4/fvL8jQyM0rn8pWROOLEQh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/exYVq1/dJMcadnCcU4/fvL8jQyM0rn8pWROOLEQh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FexYVq1%2FdJMcadnCcU4%2FfvL8jQyM0rn8pWROOLEQh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;398&quot; height=&quot;156&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;실제로&amp;nbsp;Table&amp;nbsp;6의&amp;nbsp;비교&amp;nbsp;결과에서도&amp;nbsp;SFT가&amp;nbsp;reconstruction&amp;nbsp;대비&amp;nbsp;평균&amp;nbsp;4.5점&amp;nbsp;높은&amp;nbsp;benchmark&amp;nbsp;performance를&amp;nbsp;보였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;2.4. Experiments &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;LoRA&amp;nbsp;Compression&amp;nbsp;실험에서는&amp;nbsp;9개&amp;nbsp;benchmark-specific&amp;nbsp;LoRA를&amp;nbsp;reconstruction&amp;nbsp;training으로&amp;nbsp;압축하는&amp;nbsp;실험인데요.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1946&quot; data-origin-height=&quot;734&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/er4NmG/dJMcaioYrfU/17AyX4fLiRBrvu0J0FdGtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/er4NmG/dJMcaioYrfU/17AyX4fLiRBrvu0J0FdGtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/er4NmG/dJMcaioYrfU/17AyX4fLiRBrvu0J0FdGtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fer4NmG%2FdJMcaioYrfU%2F17AyX4fLiRBrvu0J0FdGtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;283&quot; data-origin-width=&quot;1946&quot; data-origin-height=&quot;734&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;T2L이&amp;nbsp;거의&amp;nbsp;모든&amp;nbsp;benchmark에서&amp;nbsp;original&amp;nbsp;task-specific&amp;nbsp;LoRA의&amp;nbsp;성능을&amp;nbsp;완벽하게&amp;nbsp;복원했고,&amp;nbsp;일부&amp;nbsp;benchmark&amp;nbsp;(PIQA,&amp;nbsp;WG)에서는&amp;nbsp;오히려&amp;nbsp;oracle&amp;nbsp;LoRA를&amp;nbsp;능가&lt;/b&gt;&lt;/span&gt;했습니다.&lt;br /&gt;저자들은&amp;nbsp;이를&amp;nbsp;lossy&amp;nbsp;compression이&amp;nbsp;일종의&amp;nbsp;regularization&amp;nbsp;역할을&amp;nbsp;한다고&amp;nbsp;해석하는데,&amp;nbsp;납득이&amp;nbsp;가는&amp;nbsp;설명입니다.&lt;br /&gt;실제로&amp;nbsp;PIQA와&amp;nbsp;WG에서는&amp;nbsp;original&amp;nbsp;LoRA가&amp;nbsp;overfitting되어&amp;nbsp;base&amp;nbsp;model보다&amp;nbsp;오히려&amp;nbsp;성능이&amp;nbsp;낮았거든요.&lt;br /&gt;&lt;br /&gt;Zero-Shot&amp;nbsp;LoRA&amp;nbsp;Generation에서는&amp;nbsp;SFT로&amp;nbsp;학습한&amp;nbsp;T2L을&amp;nbsp;unseen&amp;nbsp;benchmark&amp;nbsp;task에&amp;nbsp;적용하는&amp;nbsp;실험입니다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;948&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvTGQI/dJMcajah8TL/bBHGJtjFORhp0xRCGjsg80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvTGQI/dJMcajah8TL/bBHGJtjFORhp0xRCGjsg80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvTGQI/dJMcajah8TL/bBHGJtjFORhp0xRCGjsg80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvTGQI%2FdJMcajah8TL%2FbBHGJtjFORhp0xRCGjsg80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;777&quot; height=&quot;383&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;948&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;T2L&amp;nbsp;(SFT)&amp;nbsp;L이&amp;nbsp;평균&amp;nbsp;67.7로,&amp;nbsp;multi-task&amp;nbsp;LoRA&amp;nbsp;baseline&amp;nbsp;(66.3)과&amp;nbsp;Arrow&amp;nbsp;Routing을&amp;nbsp;일관되게&amp;nbsp;능가했습니다.&lt;br /&gt;특히&amp;nbsp;일부&amp;nbsp;task에서는&amp;nbsp;task-specific&amp;nbsp;LoRA보다&amp;nbsp;더&amp;nbsp;높은&amp;nbsp;성능을&amp;nbsp;달성했고요.&lt;br /&gt;Llama-3.1-8B-Instruct와&amp;nbsp;Gemma-2-2B-Instruct에서도&amp;nbsp;비슷한&amp;nbsp;경향이&amp;nbsp;확인되어,&amp;nbsp;특정&amp;nbsp;base&amp;nbsp;model에&amp;nbsp;종속된&amp;nbsp;결과가&amp;nbsp;아닌&amp;nbsp;것으로&amp;nbsp;보입니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1974&quot; data-origin-height=&quot;1366&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7tyfO/dJMcabpRBb4/68JPQ0bSGvingthuzR5nyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7tyfO/dJMcabpRBb4/68JPQ0bSGvingthuzR5nyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7tyfO/dJMcabpRBb4/68JPQ0bSGvingthuzR5nyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7tyfO%2FdJMcabpRBb4%2F68JPQ0bSGvingthuzR5nyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;674&quot; height=&quot;466&quot; data-origin-width=&quot;1974&quot; data-origin-height=&quot;1366&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;scaling 실험 결과도 흥미로운데요.&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;training&amp;nbsp;task&amp;nbsp;수를&amp;nbsp;늘릴수록&amp;nbsp;(compute&amp;nbsp;budget도&amp;nbsp;함께&amp;nbsp;scaling)&amp;nbsp;zero-shot&amp;nbsp;benchmark&amp;nbsp;performance가&amp;nbsp;꾸준히&amp;nbsp;올라갔습니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;다만&amp;nbsp;S&amp;nbsp;architecture는&amp;nbsp;479&amp;nbsp;task까지&amp;nbsp;갔을&amp;nbsp;때&amp;nbsp;오히려&amp;nbsp;성능이&amp;nbsp;살짝&amp;nbsp;떨어지는데,&amp;nbsp;model&amp;nbsp;capacity의&amp;nbsp;한계로&amp;nbsp;보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1948&quot; data-origin-height=&quot;846&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LJB8u/dJMcahp3UJA/KgLrmjmBs6djKudVDo5Vs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LJB8u/dJMcahp3UJA/KgLrmjmBs6djKudVDo5Vs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LJB8u/dJMcahp3UJA/KgLrmjmBs6djKudVDo5Vs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLJB8u%2FdJMcahp3UJA%2FKgLrmjmBs6djKudVDo5Vs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;726&quot; height=&quot;315&quot; data-origin-width=&quot;1948&quot; data-origin-height=&quot;846&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;t-SNE&amp;nbsp;visualization&amp;nbsp;(Figure&amp;nbsp;5)에서는&amp;nbsp;SFT&amp;nbsp;T2L이&amp;nbsp;서로&amp;nbsp;다른&amp;nbsp;task에&amp;nbsp;대해&amp;nbsp;실제로&amp;nbsp;서로&amp;nbsp;다른&amp;nbsp;LoRA를&amp;nbsp;생성하고&amp;nbsp;있음을&amp;nbsp;확인할&amp;nbsp;수&amp;nbsp;있습니다.&lt;br /&gt;의미적으로&amp;nbsp;유사한&amp;nbsp;task&amp;nbsp;(예:&amp;nbsp;MBPP와&amp;nbsp;HumanEval)끼리&amp;nbsp;cluster되는&amp;nbsp;것도&amp;nbsp;인상적이고요.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1944&quot; data-origin-height=&quot;1520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v0pM8/dJMcab4qVxr/P1e3A7Tuqhc6uxY8HDjb31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v0pM8/dJMcab4qVxr/P1e3A7Tuqhc6uxY8HDjb31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v0pM8/dJMcab4qVxr/P1e3A7Tuqhc6uxY8HDjb31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv0pM8%2FdJMcab4qVxr%2FP1e3A7Tuqhc6uxY8HDjb31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;814&quot; height=&quot;636&quot; data-origin-width=&quot;1944&quot; data-origin-height=&quot;1520&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로&amp;nbsp;T2L에서&amp;nbsp;가장&amp;nbsp;흥미로웠던&amp;nbsp;건&amp;nbsp;Figure&amp;nbsp;4의&amp;nbsp;steerability&amp;nbsp;예시인데요.&lt;br /&gt;같은&amp;nbsp;수학&amp;nbsp;문제에&amp;nbsp;대해&amp;nbsp;description의&amp;nbsp;뉘앙스를&amp;nbsp;바꾸면&amp;nbsp;(예:&amp;nbsp;&quot;mathematical&amp;nbsp;reasoning&quot;&amp;nbsp;vs&amp;nbsp;&quot;programming&amp;nbsp;skill&quot;)&amp;nbsp;서로&amp;nbsp;다른&amp;nbsp;reasoning&amp;nbsp;path를&amp;nbsp;거쳐&amp;nbsp;답을&amp;nbsp;내는&amp;nbsp;것을&amp;nbsp;확인할&amp;nbsp;수&amp;nbsp;있습니다.&lt;br /&gt;단순히 성능을 높이는 것 뿐 아니라, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;user가 description을 통해 LLM의 행동을 제어할 수 있다는 점이 T2L의 독특한 강점&lt;/b&gt;&lt;/span&gt;이라고 생각합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3. Doc-to-LoRA&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.1. From T2L to D2L: What Changed? &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;T2L이&amp;nbsp;&quot;task&amp;nbsp;description&amp;nbsp;&amp;rarr;&amp;nbsp;LoRA&quot;였다면,&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;D2L은&amp;nbsp;&quot;document/context&amp;nbsp;&amp;rarr;&amp;nbsp;LoRA&quot;로&amp;nbsp;문제를&amp;nbsp;확장&lt;/b&gt;&lt;/span&gt;합니다.&lt;br /&gt;T2L은&amp;nbsp;짧은&amp;nbsp;task&amp;nbsp;description&amp;nbsp;embedding을&amp;nbsp;입력으로&amp;nbsp;받았지만,&amp;nbsp;D2L은&amp;nbsp;수천~수만&amp;nbsp;token&amp;nbsp;길이의&amp;nbsp;실제&amp;nbsp;document를&amp;nbsp;처리해야&amp;nbsp;하고요.&lt;br /&gt;목표도&amp;nbsp;다릅니다.&amp;nbsp;T2L은&amp;nbsp;task-specific&amp;nbsp;capability를&amp;nbsp;부여하는&amp;nbsp;것이었다면,&amp;nbsp;D2L은&amp;nbsp;specific&amp;nbsp;knowledge를&amp;nbsp;LLM&amp;nbsp;parameter에&amp;nbsp;internalize하는&amp;nbsp;것이&amp;nbsp;목표입니다.&lt;br /&gt;&lt;br /&gt;핵심적인&amp;nbsp;차이를&amp;nbsp;정리하면&amp;nbsp;이렇습니다.&lt;br /&gt;T2L은&amp;nbsp;external&amp;nbsp;text&amp;nbsp;encoder&amp;nbsp;(gte-large-en-v1.5&amp;nbsp;등)로&amp;nbsp;task&amp;nbsp;description을&amp;nbsp;embedding한&amp;nbsp;후&amp;nbsp;MLP-based&amp;nbsp;hypernetwork에&amp;nbsp;넣었는데,&amp;nbsp;&lt;b&gt;D2L은&amp;nbsp;target&amp;nbsp;LLM&amp;nbsp;자체의&amp;nbsp;intermediate&amp;nbsp;layer&amp;nbsp;activations를&amp;nbsp;입력으로&amp;nbsp;사용&lt;/b&gt;합니다.&lt;br /&gt;아키텍처도&amp;nbsp;MLP에서&amp;nbsp;Perceiver-based&amp;nbsp;cross-attention으로&amp;nbsp;바뀌었고요.&lt;br /&gt;학습&amp;nbsp;objective&amp;nbsp;역시&amp;nbsp;SFT/reconstruction에서&amp;nbsp;context&amp;nbsp;distillation&amp;nbsp;(KL&amp;nbsp;divergence)&amp;nbsp;기반으로&amp;nbsp;변경되었습니다.&lt;br /&gt;&lt;br /&gt;이런&amp;nbsp;변화들이&amp;nbsp;왜&amp;nbsp;필요했는지는&amp;nbsp;D2L의&amp;nbsp;구조를&amp;nbsp;보면&amp;nbsp;자연스럽게&amp;nbsp;이해가&amp;nbsp;됩니다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.2. Architecture&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;D2L의&amp;nbsp;hypernetwork은&amp;nbsp;target&amp;nbsp;LLM의&amp;nbsp;per-layer&amp;nbsp;token&amp;nbsp;activations를&amp;nbsp;입력으로&amp;nbsp;받습니다.&lt;br /&gt;context&amp;nbsp;$c$를&amp;nbsp;frozen&amp;nbsp;target&amp;nbsp;LLM에&amp;nbsp;통과시키면&amp;nbsp;$Z&amp;nbsp;\in&amp;nbsp;\mathbb{R}^{L&amp;nbsp;\times&amp;nbsp;N&amp;nbsp;\times&amp;nbsp;D}$를&amp;nbsp;얻을&amp;nbsp;수&amp;nbsp;있는데요.&lt;br /&gt;여기서&amp;nbsp;$L$은&amp;nbsp;Transformer&amp;nbsp;layer&amp;nbsp;수,&amp;nbsp;$N$은&amp;nbsp;token&amp;nbsp;수,&amp;nbsp;$D$는&amp;nbsp;hidden&amp;nbsp;size입니다.&lt;br /&gt;&lt;br /&gt;각&amp;nbsp;layer&amp;nbsp;$l$에&amp;nbsp;대해,&amp;nbsp;shared&amp;nbsp;hypernetwork&amp;nbsp;$h_\phi$가&amp;nbsp;이전&amp;nbsp;layer의&amp;nbsp;activations&amp;nbsp;$Z_{l-1}$을&amp;nbsp;받아&amp;nbsp;해당&amp;nbsp;layer의&amp;nbsp;LoRA를&amp;nbsp;생성합니다.&lt;br /&gt;&lt;br /&gt;$$h_\phi(Z_{l-1})&amp;nbsp;=&amp;nbsp;\Delta&amp;nbsp;W_l&amp;nbsp;=&amp;nbsp;B_l&amp;nbsp;A_l$$&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;T2L과&amp;nbsp;달리&amp;nbsp;입력&amp;nbsp;길이가&amp;nbsp;가변적이기&amp;nbsp;때문에,&amp;nbsp;Perceiver-style&amp;nbsp;cross-attention을&amp;nbsp;사용하는&amp;nbsp;것이&amp;nbsp;핵심&lt;/b&gt;&lt;/span&gt;인데요.&lt;br /&gt;$r$개의&amp;nbsp;learnable&amp;nbsp;latent&amp;nbsp;queries&amp;nbsp;$Q_m&amp;nbsp;\in&amp;nbsp;\mathbb{R}^{r&amp;nbsp;\times&amp;nbsp;d_q}$가&amp;nbsp;$Z_{l-1}$에&amp;nbsp;cross-attend하여,&amp;nbsp;variable-length&amp;nbsp;input을&amp;nbsp;fixed-size&amp;nbsp;output으로&amp;nbsp;mapping합니다.&lt;br /&gt;&lt;br /&gt;$$U_l&amp;nbsp;=&amp;nbsp;\text{XAttn}(Q_m,&amp;nbsp;K(Z_{l-1}),&amp;nbsp;V(Z_{l-1}))&amp;nbsp;\in&amp;nbsp;\mathbb{R}^{r&amp;nbsp;\times&amp;nbsp;d_u}$$&lt;br /&gt;&lt;br /&gt;이렇게&amp;nbsp;나온&amp;nbsp;latent&amp;nbsp;vectors를&amp;nbsp;per-layer&amp;nbsp;output&amp;nbsp;head가&amp;nbsp;LoRA의&amp;nbsp;A,&amp;nbsp;B&amp;nbsp;matrix로&amp;nbsp;변환합니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1932&quot; data-origin-height=&quot;844&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KQv6X/dJMcagYX9hR/2gTNqHQaPg1adrIw2pAMKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KQv6X/dJMcagYX9hR/2gTNqHQaPg1adrIw2pAMKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KQv6X/dJMcagYX9hR/2gTNqHQaPg1adrIw2pAMKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKQv6X%2FdJMcagYX9hR%2F2gTNqHQaPg1adrIw2pAMKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;328&quot; data-origin-width=&quot;1932&quot; data-origin-height=&quot;844&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Long-Context&amp;nbsp;Composition&amp;nbsp;via&amp;nbsp;Chunking&amp;nbsp;메커니즘&lt;/b&gt;&lt;/span&gt;이&amp;nbsp;D2L의&amp;nbsp;또&amp;nbsp;다른&amp;nbsp;핵심인데요.&lt;br /&gt;긴&amp;nbsp;context를&amp;nbsp;$K$개의&amp;nbsp;chunk로&amp;nbsp;나누어&amp;nbsp;각각&amp;nbsp;독립적으로&amp;nbsp;hypernetwork를&amp;nbsp;통과시킨&amp;nbsp;후,&amp;nbsp;rank&amp;nbsp;dimension을&amp;nbsp;따라&amp;nbsp;concatenate합니다.&lt;br /&gt;&lt;br /&gt;$$A_l&amp;nbsp;=&amp;nbsp;\begin{bmatrix}&amp;nbsp;A_l^{(1)}&amp;nbsp;\\&amp;nbsp;\vdots&amp;nbsp;\\&amp;nbsp;A_l^{(K)}&amp;nbsp;\end{bmatrix},&amp;nbsp;\quad&amp;nbsp;B_l&amp;nbsp;=&amp;nbsp;[B_l^{(1)}&amp;nbsp;\cdots&amp;nbsp;B_l^{(K)}]$$&lt;br /&gt;&lt;br /&gt;결과적으로&amp;nbsp;총&amp;nbsp;rank는&amp;nbsp;$r&amp;nbsp;\cdot&amp;nbsp;K$가&amp;nbsp;됩니다.&lt;br /&gt;이&amp;nbsp;방식의&amp;nbsp;장점은&amp;nbsp;hypernetwork의&amp;nbsp;output&amp;nbsp;shape을&amp;nbsp;바꾸지&amp;nbsp;않으면서도,&amp;nbsp;긴&amp;nbsp;context에&amp;nbsp;대해&amp;nbsp;자연스럽게&amp;nbsp;higher-rank&amp;nbsp;LoRA를&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;것입니다.&lt;br /&gt;이&amp;nbsp;덕분에&amp;nbsp;training&amp;nbsp;때&amp;nbsp;최대&amp;nbsp;256&amp;nbsp;token만&amp;nbsp;봤는데도,&amp;nbsp;inference&amp;nbsp;때&amp;nbsp;32K+&amp;nbsp;token의&amp;nbsp;document를&amp;nbsp;처리할&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.3. Meta-Training Objective &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;D2L의&amp;nbsp;학습&amp;nbsp;objective는&amp;nbsp;context&amp;nbsp;distillation을&amp;nbsp;meta-learning하는&amp;nbsp;것입니다.&lt;br /&gt;&quot;teacher&quot;&amp;nbsp;(context가&amp;nbsp;있는&amp;nbsp;LLM)와&amp;nbsp;&quot;student&quot;&amp;nbsp;(context&amp;nbsp;없이&amp;nbsp;D2L이&amp;nbsp;생성한&amp;nbsp;LoRA만&amp;nbsp;가진&amp;nbsp;LLM)&amp;nbsp;사이의&amp;nbsp;KL&amp;nbsp;divergence를&amp;nbsp;최소화합니다.&lt;br /&gt;&lt;br /&gt;$$\min_\phi&amp;nbsp;\mathbb{E}_{(c,&amp;nbsp;D_c)&amp;nbsp;\sim&amp;nbsp;D}&amp;nbsp;\mathbb{E}_{(x,y)&amp;nbsp;\sim&amp;nbsp;D_c}&amp;nbsp;\text{KL}\big(p_\theta(y|x,c)&amp;nbsp;\|&amp;nbsp;p_{\theta&amp;nbsp;+&amp;nbsp;H_\phi(c)}(y|x)\big)$$&lt;br /&gt;&lt;br /&gt;여기서&amp;nbsp;$c$는&amp;nbsp;context,&amp;nbsp;$x$는&amp;nbsp;query,&amp;nbsp;$y$는&amp;nbsp;teacher가&amp;nbsp;생성한&amp;nbsp;response입니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;이&amp;nbsp;objective가&amp;nbsp;T2L의&amp;nbsp;SFT&amp;nbsp;loss와&amp;nbsp;다른&amp;nbsp;점은,&amp;nbsp;ground-truth&amp;nbsp;token을&amp;nbsp;직접&amp;nbsp;맞추는&amp;nbsp;게&amp;nbsp;아니라&amp;nbsp;teacher&amp;nbsp;distribution&amp;nbsp;전체를&amp;nbsp;matching한다는&amp;nbsp;것인데요.&lt;/b&gt;&lt;br /&gt;Appendix의&amp;nbsp;ablation에서도&amp;nbsp;KL&amp;nbsp;loss가&amp;nbsp;next-token&amp;nbsp;prediction&amp;nbsp;(NTP)&amp;nbsp;loss보다&amp;nbsp;더&amp;nbsp;나은&amp;nbsp;generalization을&amp;nbsp;보여줬습니다.&lt;br /&gt;저자들은&amp;nbsp;KL&amp;nbsp;distillation이&amp;nbsp;teacher의&amp;nbsp;uncertainty와&amp;nbsp;alternative&amp;nbsp;modes까지&amp;nbsp;전달해주기&amp;nbsp;때문이라고&amp;nbsp;해석하고&amp;nbsp;있고,&amp;nbsp;저도&amp;nbsp;이&amp;nbsp;설명이&amp;nbsp;타당하다고&amp;nbsp;봅니다.&lt;br /&gt;&lt;br /&gt;training&amp;nbsp;data는&amp;nbsp;FineWeb-Edu에서&amp;nbsp;추출한&amp;nbsp;약&amp;nbsp;900M&amp;nbsp;token&amp;nbsp;분량의&amp;nbsp;context에&amp;nbsp;대해,&amp;nbsp;gemma-3-12b-it로&amp;nbsp;context-grounded&amp;nbsp;query를&amp;nbsp;생성하고,&amp;nbsp;gemma-2-2b-it&amp;nbsp;(base&amp;nbsp;model)로&amp;nbsp;self-response를&amp;nbsp;만드는&amp;nbsp;파이프라인을&amp;nbsp;사용했습니다.&lt;br /&gt;총&amp;nbsp;약&amp;nbsp;1억&amp;nbsp;개의&amp;nbsp;unique&amp;nbsp;context-query-response&amp;nbsp;triplet이&amp;nbsp;만들어졌고요.&lt;br /&gt;&lt;br /&gt;D2L의&amp;nbsp;hypernetwork은&amp;nbsp;309M&amp;nbsp;trainable&amp;nbsp;parameters로,&amp;nbsp;8개의&amp;nbsp;cross-attention&amp;nbsp;block&amp;nbsp;(self-attention&amp;nbsp;없음)으로&amp;nbsp;구성되어&amp;nbsp;있습니다.&lt;br /&gt;생성되는&amp;nbsp;LoRA는&amp;nbsp;rank-8이고,&amp;nbsp;MLP&amp;nbsp;block의&amp;nbsp;&quot;down&amp;nbsp;projection&quot;&amp;nbsp;layer에만&amp;nbsp;적용됩니다.&lt;br /&gt;T2L이&amp;nbsp;attention의&amp;nbsp;Q,&amp;nbsp;V&amp;nbsp;projection에&amp;nbsp;적용한&amp;nbsp;것과는&amp;nbsp;target&amp;nbsp;module이&amp;nbsp;다른데,&amp;nbsp;이&amp;nbsp;선택의&amp;nbsp;이유가&amp;nbsp;논문에서&amp;nbsp;명시적으로&amp;nbsp;설명되지&amp;nbsp;않은&amp;nbsp;건&amp;nbsp;약간&amp;nbsp;아쉬운&amp;nbsp;부분입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.4. Experiments &lt;/span&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.4.1. Needle-in-a-Haystack (NIAH)&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;D2L의&amp;nbsp;internalization&amp;nbsp;능력을&amp;nbsp;가장&amp;nbsp;직관적으로&amp;nbsp;보여주는&amp;nbsp;실험인데요.&lt;br /&gt;haystack&amp;nbsp;안에&amp;nbsp;숨겨진&amp;nbsp;4자리&amp;nbsp;숫자&amp;nbsp;(needle)를&amp;nbsp;찾는&amp;nbsp;task에서,&amp;nbsp;D2L은&amp;nbsp;context를&amp;nbsp;LoRA로&amp;nbsp;internalize한&amp;nbsp;후,&amp;nbsp;context&amp;nbsp;없이&amp;nbsp;query만으로&amp;nbsp;needle을&amp;nbsp;정확히&amp;nbsp;retrieval해야&amp;nbsp;합니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;1256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgogA8/dJMcacWy0uG/Si0K03TkkelFMuPAUZi6K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgogA8/dJMcacWy0uG/Si0K03TkkelFMuPAUZi6K0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgogA8/dJMcacWy0uG/Si0K03TkkelFMuPAUZi6K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgogA8%2FdJMcacWy0uG%2FSi0K03TkkelFMuPAUZi6K0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;631&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;1256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;br /&gt;결과가&amp;nbsp;꽤&amp;nbsp;인상적입니다.&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;D2L은&amp;nbsp;training&amp;nbsp;때&amp;nbsp;최대&amp;nbsp;256&amp;nbsp;token&amp;nbsp;(8&amp;nbsp;chunks)만&amp;nbsp;봤음에도,&amp;nbsp;8K&amp;nbsp;token까지&amp;nbsp;base&amp;nbsp;model&amp;nbsp;with&amp;nbsp;context와&amp;nbsp;동일한&amp;nbsp;perfect&amp;nbsp;accuracy를&amp;nbsp;달성&lt;/b&gt;&lt;/span&gt;했습니다.&lt;br /&gt;더&amp;nbsp;놀라운&amp;nbsp;건,&amp;nbsp;base&amp;nbsp;model의&amp;nbsp;context&amp;nbsp;window&amp;nbsp;(8K)를&amp;nbsp;넘어선&amp;nbsp;32K+&amp;nbsp;token에서도&amp;nbsp;near-perfect&amp;nbsp;accuracy를&amp;nbsp;유지했다는&amp;nbsp;점인데요.&lt;br /&gt;base&amp;nbsp;model은&amp;nbsp;8K를&amp;nbsp;넘어가면&amp;nbsp;성능이&amp;nbsp;급격히&amp;nbsp;떨어지는&amp;nbsp;반면,&amp;nbsp;D2L은&amp;nbsp;약&amp;nbsp;40K&amp;nbsp;token&amp;nbsp;(40&amp;nbsp;chunks)까지&amp;nbsp;높은&amp;nbsp;성능을&amp;nbsp;보여줬습니다.&lt;br /&gt;&lt;br /&gt;memory&amp;nbsp;측면에서도&amp;nbsp;이점이&amp;nbsp;큰데요.&lt;br /&gt;128K&amp;nbsp;token&amp;nbsp;haystack&amp;nbsp;기준으로&amp;nbsp;base&amp;nbsp;model은&amp;nbsp;12GB&amp;nbsp;이상의&amp;nbsp;추가&amp;nbsp;memory가&amp;nbsp;필요한&amp;nbsp;반면,&amp;nbsp;D2L은&amp;nbsp;50MB&amp;nbsp;미만으로&amp;nbsp;일정하게&amp;nbsp;유지됩니다.&lt;br /&gt;&lt;br /&gt;물론&amp;nbsp;이건&amp;nbsp;synthetic&amp;nbsp;task이고,&amp;nbsp;needle이&amp;nbsp;하나인&amp;nbsp;비교적&amp;nbsp;단순한&amp;nbsp;설정이라는&amp;nbsp;점은&amp;nbsp;감안해야&amp;nbsp;합니다.&lt;br /&gt;하지만&amp;nbsp;256&amp;nbsp;token으로&amp;nbsp;학습한&amp;nbsp;모델이&amp;nbsp;32K+&amp;nbsp;token에서&amp;nbsp;작동한다는&amp;nbsp;사실&amp;nbsp;자체가,&amp;nbsp;chunking&amp;nbsp;메커니즘의&amp;nbsp;compositionality가&amp;nbsp;실제로&amp;nbsp;동작한다는&amp;nbsp;강력한&amp;nbsp;evidence라고&amp;nbsp;생각합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.4.2. Reading Comprehension QA &lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQuAD,&amp;nbsp;DROP,&amp;nbsp;ROPES&amp;nbsp;세&amp;nbsp;가지&amp;nbsp;reading&amp;nbsp;comprehension&amp;nbsp;benchmark에서의&amp;nbsp;결과입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1926&quot; data-origin-height=&quot;876&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uKEfH/dJMcabKaxeg/ybzEkpkbSywHTLBiOhIEkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uKEfH/dJMcabKaxeg/ybzEkpkbSywHTLBiOhIEkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uKEfH/dJMcabKaxeg/ybzEkpkbSywHTLBiOhIEkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuKEfH%2FdJMcabKaxeg%2FybzEkpkbSywHTLBiOhIEkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;328&quot; data-origin-width=&quot;1926&quot; data-origin-height=&quot;876&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;D2L은&amp;nbsp;모든&amp;nbsp;in-parameter&amp;nbsp;knowledge&amp;nbsp;baseline을&amp;nbsp;능가했는데요.&lt;br /&gt;SQuAD에서&amp;nbsp;ICL&amp;nbsp;upper&amp;nbsp;bound&amp;nbsp;대비&amp;nbsp;82.5%의&amp;nbsp;relative&amp;nbsp;performance를&amp;nbsp;달성했습니다.&lt;br /&gt;이건&amp;nbsp;LLMLingua-2로&amp;nbsp;context를&amp;nbsp;40%로&amp;nbsp;압축한&amp;nbsp;것과&amp;nbsp;비슷한&amp;nbsp;수준인데,&amp;nbsp;D2L은&amp;nbsp;context를&amp;nbsp;아예&amp;nbsp;제거한다는&amp;nbsp;점에서&amp;nbsp;더&amp;nbsp;의미가&amp;nbsp;있습니다.&lt;br /&gt;&lt;br /&gt;하지만&amp;nbsp;D2L의&amp;nbsp;진짜&amp;nbsp;강점은&amp;nbsp;&lt;b&gt;efficiency&lt;/b&gt;에&amp;nbsp;있습니다.&lt;br /&gt;CD&amp;nbsp;(oracle)이&amp;nbsp;약&amp;nbsp;40초,&amp;nbsp;CD&amp;nbsp;(generated&amp;nbsp;queries)가&amp;nbsp;100초&amp;nbsp;이상&amp;nbsp;걸리는&amp;nbsp;반면,&amp;nbsp;D2L은&amp;nbsp;batched&amp;nbsp;mode에서&amp;nbsp;0.2초,&amp;nbsp;iterative&amp;nbsp;mode에서&amp;nbsp;0.5초&amp;nbsp;정도면&amp;nbsp;internalization이&amp;nbsp;완료됩니다.&lt;br /&gt;&lt;b&gt;memory도&amp;nbsp;D2L이&amp;nbsp;2GB&amp;nbsp;미만&lt;/b&gt;인&amp;nbsp;반면,&amp;nbsp;CD&amp;nbsp;(generated&amp;nbsp;queries)는&amp;nbsp;40GB&amp;nbsp;이상을&amp;nbsp;사용하고요.&lt;br /&gt;&lt;br /&gt;T2L도&amp;nbsp;instant&amp;nbsp;update가&amp;nbsp;가능하긴&amp;nbsp;하지만,&amp;nbsp;task&amp;nbsp;description&amp;nbsp;기반&amp;nbsp;SFT&amp;nbsp;데이터로&amp;nbsp;학습된&amp;nbsp;특성상&amp;nbsp;knowledge&amp;nbsp;internalization에는&amp;nbsp;효과적이지&amp;nbsp;못했습니다.&lt;br /&gt;D2L&amp;nbsp;논문에서&amp;nbsp;T2L을&amp;nbsp;직접&amp;nbsp;baseline으로&amp;nbsp;비교하고&amp;nbsp;있는데,&amp;nbsp;T2L의&amp;nbsp;성능이&amp;nbsp;base&amp;nbsp;model&amp;nbsp;without&amp;nbsp;context와&amp;nbsp;크게&amp;nbsp;다르지&amp;nbsp;않은&amp;nbsp;걸&amp;nbsp;보면,&amp;nbsp;같은&amp;nbsp;hypernetwork&amp;nbsp;기반이라도&amp;nbsp;training&amp;nbsp;objective와&amp;nbsp;architecture&amp;nbsp;design이&amp;nbsp;얼마나&amp;nbsp;중요한지&amp;nbsp;알&amp;nbsp;수&amp;nbsp;있습니다.&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.4.3. Long-Context QA &lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2WikiMultihopQA,&amp;nbsp;MultiFieldQA,&amp;nbsp;QASPER&amp;nbsp;세&amp;nbsp;가지&amp;nbsp;long-document&amp;nbsp;QA&amp;nbsp;benchmark에서의&amp;nbsp;결과입니다.&lt;br /&gt;test&amp;nbsp;sample의&amp;nbsp;길이가&amp;nbsp;최대&amp;nbsp;32K&amp;nbsp;token까지&amp;nbsp;가는데,&amp;nbsp;D2L의&amp;nbsp;training&amp;nbsp;data는&amp;nbsp;최대&amp;nbsp;2,344&amp;nbsp;token이었다는&amp;nbsp;점이&amp;nbsp;중요합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RFfeu/dJMcafltlaZ/PGpkhn2Ho9Smfn6ESOgKfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RFfeu/dJMcafltlaZ/PGpkhn2Ho9Smfn6ESOgKfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RFfeu/dJMcafltlaZ/PGpkhn2Ho9Smfn6ESOgKfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRFfeu%2FdJMcafltlaZ%2FPGpkhn2Ho9Smfn6ESOgKfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;810&quot; height=&quot;177&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;698&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKxMGY/dJMcagkmEM8/iSqIQymZH6bAcx2OT4vzm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKxMGY/dJMcagkmEM8/iSqIQymZH6bAcx2OT4vzm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKxMGY/dJMcagkmEM8/iSqIQymZH6bAcx2OT4vzm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKxMGY%2FdJMcagkmEM8%2FiSqIQymZH6bAcx2OT4vzm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;273&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;698&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;D2L은 training 때 한 번도 보지 못한 긴 문서에 대해서도 효과적으로 internalize했습니다.&lt;br /&gt;2WikiMultihopQA에서&amp;nbsp;CD&amp;nbsp;(oracle)&amp;nbsp;대비&amp;nbsp;거의&amp;nbsp;비슷한&amp;nbsp;수준의&amp;nbsp;성능을&amp;nbsp;보여줬고요&amp;nbsp;(0.857&amp;nbsp;vs&amp;nbsp;0.901).&lt;br /&gt;CD&amp;nbsp;(5&amp;nbsp;generated&amp;nbsp;queries)가&amp;nbsp;79GB의&amp;nbsp;VRAM을&amp;nbsp;사용하는&amp;nbsp;반면,&amp;nbsp;D2L&amp;nbsp;(iterative)은&amp;nbsp;3.8GB만&amp;nbsp;사용하면서도&amp;nbsp;더&amp;nbsp;높은&amp;nbsp;성능을&amp;nbsp;달성했습니다.&lt;br /&gt;&lt;br /&gt;재밌는&amp;nbsp;발견&amp;nbsp;중&amp;nbsp;하나는,&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;D2L로&amp;nbsp;internalize한&amp;nbsp;후에&amp;nbsp;truncated&amp;nbsp;context를&amp;nbsp;다시&amp;nbsp;제공하면&amp;nbsp;성능이&amp;nbsp;오히려&amp;nbsp;약간&amp;nbsp;올라가는&amp;nbsp;현상&lt;/b&gt;&lt;/span&gt;인데요.&lt;br /&gt;저자들은&amp;nbsp;이를&amp;nbsp;lost-in-the-middle&amp;nbsp;현상과&amp;nbsp;attention&amp;nbsp;noise와&amp;nbsp;연결지어&amp;nbsp;해석합니다.&lt;br /&gt;D2L이&amp;nbsp;핵심&amp;nbsp;정보를&amp;nbsp;parameter에&amp;nbsp;넣어놓으면,&amp;nbsp;context에서의&amp;nbsp;attention&amp;nbsp;noise가&amp;nbsp;줄어들어&amp;nbsp;오히려&amp;nbsp;도움이&amp;nbsp;된다는&amp;nbsp;거죠.&lt;br /&gt;이 해석이 완전히 검증된 건 아니지만, 흥미로운 관찰이라고 생각합니다.&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.4.4. Zero-Shot Visual Information Transfer &lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;D2L의 context encoder를 VLM (gemma-3-4b-it)으로 바꿔서, 이미지 정보를 text-only LLM (gemma-2-2b-it)의 LoRA로 변환하는 실험입니다.&lt;br /&gt;D2L은&amp;nbsp;training&amp;nbsp;때&amp;nbsp;이미지를&amp;nbsp;한&amp;nbsp;번도&amp;nbsp;본&amp;nbsp;적이&amp;nbsp;없음에도&amp;nbsp;불구하고,&amp;nbsp;Imagenette&amp;nbsp;(10-class&amp;nbsp;subset&amp;nbsp;of&amp;nbsp;ImageNet)에서&amp;nbsp;75.03%의&amp;nbsp;accuracy를&amp;nbsp;달성했습니다.&lt;br /&gt;random&amp;nbsp;guess가&amp;nbsp;10%인&amp;nbsp;걸&amp;nbsp;감안하면,&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;시각&amp;nbsp;정보가&amp;nbsp;실제로&amp;nbsp;LoRA&amp;nbsp;parameter를&amp;nbsp;통해&amp;nbsp;전달되고&amp;nbsp;있다&lt;/b&gt;&lt;/span&gt;는&amp;nbsp;뜻입니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;202&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bx8MGm/dJMb99S4465/TF4UqxGZ0pAh7kG4p1lWf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bx8MGm/dJMb99S4465/TF4UqxGZ0pAh7kG4p1lWf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bx8MGm/dJMb99S4465/TF4UqxGZ0pAh7kG4p1lWf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbx8MGm%2FdJMb99S4465%2FTF4UqxGZ0pAh7kG4p1lWf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;115&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;202&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;물론&amp;nbsp;text&amp;nbsp;QA&amp;nbsp;성능은&amp;nbsp;LLM&amp;nbsp;encoder&amp;nbsp;대비&amp;nbsp;떨어지긴&amp;nbsp;합니다&amp;nbsp;(SQuAD:&amp;nbsp;0.814&amp;nbsp;&amp;rarr;&amp;nbsp;0.705).&lt;br /&gt;하지만&amp;nbsp;modality가&amp;nbsp;다른&amp;nbsp;encoder에서&amp;nbsp;text-only&amp;nbsp;model로&amp;nbsp;정보를&amp;nbsp;전달할&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;가능성&amp;nbsp;자체가&amp;nbsp;의미&amp;nbsp;있다고&amp;nbsp;봅니다.&lt;br /&gt;향후&amp;nbsp;더&amp;nbsp;정교한&amp;nbsp;architecture나&amp;nbsp;cross-modal&amp;nbsp;training이&amp;nbsp;추가되면&amp;nbsp;어떤&amp;nbsp;결과가&amp;nbsp;나올지&amp;nbsp;궁금합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;3.5. Analyses &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;812&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOKcLW/dJMcaa5xg7g/k4nOkEcqeVmpokJ177LdkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOKcLW/dJMcaa5xg7g/k4nOkEcqeVmpokJ177LdkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOKcLW/dJMcaa5xg7g/k4nOkEcqeVmpokJ177LdkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOKcLW%2FdJMcaa5xg7g%2Fk4nOkEcqeVmpokJ177LdkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;386&quot; height=&quot;176&quot; data-origin-width=&quot;812&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;Knowledge Interference 실험에서는 D2L의 한계도 확인됩니다.&lt;br /&gt;internalize한&amp;nbsp;내용과&amp;nbsp;무관한&amp;nbsp;query를&amp;nbsp;던졌을&amp;nbsp;때,&amp;nbsp;D2L이&amp;nbsp;적용된&amp;nbsp;모델의&amp;nbsp;성능이&amp;nbsp;base&amp;nbsp;model보다&amp;nbsp;오히려&amp;nbsp;떨어지는데요.&lt;br /&gt;저자들은&amp;nbsp;D2L이&amp;nbsp;&quot;이후&amp;nbsp;query가&amp;nbsp;항상&amp;nbsp;internalized&amp;nbsp;knowledge와&amp;nbsp;관련될&amp;nbsp;것&quot;이라는&amp;nbsp;strong&amp;nbsp;prior를&amp;nbsp;학습했을&amp;nbsp;수&amp;nbsp;있다고&amp;nbsp;분석합니다.&lt;br /&gt;training&amp;nbsp;data가&amp;nbsp;항상&amp;nbsp;context-related&amp;nbsp;query만&amp;nbsp;포함하다&amp;nbsp;보니&amp;nbsp;생긴&amp;nbsp;bias인&amp;nbsp;것&amp;nbsp;같은데,&amp;nbsp;실제&amp;nbsp;배포&amp;nbsp;환경에서는&amp;nbsp;irrelevant&amp;nbsp;query도&amp;nbsp;섞여&amp;nbsp;들어올&amp;nbsp;수&amp;nbsp;있으니&amp;nbsp;해결이&amp;nbsp;필요한&amp;nbsp;부분입니다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;316&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5R3pc/dJMcagxToHr/aAwzGJWzsilrcJmdsdMXQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5R3pc/dJMcagxToHr/aAwzGJWzsilrcJmdsdMXQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5R3pc/dJMcagxToHr/aAwzGJWzsilrcJmdsdMXQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5R3pc%2FdJMcagxToHr%2FaAwzGJWzsilrcJmdsdMXQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;349&quot; height=&quot;152&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;316&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;br /&gt;Query Internalization 실험도 흥미로운데요.&lt;br /&gt;document&amp;nbsp;대신&amp;nbsp;query를&amp;nbsp;internalize하는,&amp;nbsp;즉&amp;nbsp;training&amp;nbsp;때와&amp;nbsp;완전히&amp;nbsp;반대되는&amp;nbsp;extreme&amp;nbsp;generalization&amp;nbsp;test입니다.&lt;br /&gt;성능이&amp;nbsp;떨어지긴&amp;nbsp;하지만&amp;nbsp;no-context&amp;nbsp;baseline&amp;nbsp;(0.185)보다&amp;nbsp;훨씬&amp;nbsp;높은&amp;nbsp;recall&amp;nbsp;(0.587)을&amp;nbsp;보여서,&amp;nbsp;D2L이&amp;nbsp;단순히&amp;nbsp;&quot;document를&amp;nbsp;외우는&quot;&amp;nbsp;것이&amp;nbsp;아니라&amp;nbsp;어느&amp;nbsp;정도&amp;nbsp;generic한&amp;nbsp;information&amp;nbsp;mapping을&amp;nbsp;학습했다는&amp;nbsp;것을&amp;nbsp;시사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;4. Conclusion and Discussion &lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;두&amp;nbsp;논문을&amp;nbsp;함께&amp;nbsp;읽어보니,&amp;nbsp;&lt;b&gt;hypernetwork&amp;nbsp;기반&amp;nbsp;instant&amp;nbsp;LoRA&amp;nbsp;generation&lt;/b&gt;이라는&amp;nbsp;아이디어가&amp;nbsp;어떻게&amp;nbsp;발전해왔는지&amp;nbsp;흐름이&amp;nbsp;잘&amp;nbsp;보입니다.&lt;br /&gt;&lt;br /&gt;T2L은&amp;nbsp;&quot;task&amp;nbsp;description&amp;nbsp;&amp;rarr;&amp;nbsp;LoRA&quot;라는&amp;nbsp;간결하면서도&amp;nbsp;강력한&amp;nbsp;프레임워크를&amp;nbsp;제시했고,&amp;nbsp;세&amp;nbsp;가지&amp;nbsp;architecture&amp;nbsp;variant&amp;nbsp;(L/M/S)와&amp;nbsp;두&amp;nbsp;가지&amp;nbsp;training&amp;nbsp;scheme&amp;nbsp;(reconstruction/SFT)에&amp;nbsp;대한&amp;nbsp;체계적인&amp;nbsp;ablation이&amp;nbsp;인상적이었습니다.&lt;br /&gt;특히&amp;nbsp;reconstruction&amp;nbsp;training이&amp;nbsp;왜&amp;nbsp;generalization에&amp;nbsp;실패하는지를&amp;nbsp;LoRA&amp;nbsp;weight&amp;nbsp;space&amp;nbsp;분석으로&amp;nbsp;설명한&amp;nbsp;부분이&amp;nbsp;논문의&amp;nbsp;설득력을&amp;nbsp;높여주는&amp;nbsp;좋은&amp;nbsp;분석이었다고&amp;nbsp;생각합니다.&lt;br /&gt;&lt;br /&gt;D2L은&amp;nbsp;T2L의&amp;nbsp;프레임워크를&amp;nbsp;context&amp;nbsp;internalization으로&amp;nbsp;자연스럽게&amp;nbsp;확장하면서,&amp;nbsp;몇&amp;nbsp;가지&amp;nbsp;핵심적인&amp;nbsp;개선을&amp;nbsp;도입했습니다.&lt;br /&gt;Perceiver-based&amp;nbsp;architecture로&amp;nbsp;variable-length&amp;nbsp;input을&amp;nbsp;처리하고,&amp;nbsp;chunking으로&amp;nbsp;long&amp;nbsp;context를&amp;nbsp;composable하게&amp;nbsp;만들고,&amp;nbsp;KL-based&amp;nbsp;CD&amp;nbsp;objective로&amp;nbsp;더&amp;nbsp;robust한&amp;nbsp;학습을&amp;nbsp;가능하게&amp;nbsp;한&amp;nbsp;것인데요.&lt;br /&gt;결과적으로&amp;nbsp;256&amp;nbsp;token으로&amp;nbsp;학습해서&amp;nbsp;32K+&amp;nbsp;token에서&amp;nbsp;동작하는&amp;nbsp;놀라운&amp;nbsp;generalization을&amp;nbsp;보여줬습니다.&lt;br /&gt;&lt;br /&gt;두&amp;nbsp;논문&amp;nbsp;모두&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;practical&amp;nbsp;efficiency&lt;/b&gt;&lt;/span&gt;를&amp;nbsp;강조하는데,&amp;nbsp;이&amp;nbsp;점이&amp;nbsp;단순히&amp;nbsp;academic&amp;nbsp;contribution을&amp;nbsp;넘어서&amp;nbsp;실제&amp;nbsp;deployment&amp;nbsp;가능성을&amp;nbsp;열어준다고&amp;nbsp;봅니다.&lt;br /&gt;T2L의&amp;nbsp;4x&amp;nbsp;FLOPs&amp;nbsp;절감이나,&amp;nbsp;D2L의&amp;nbsp;sub-second&amp;nbsp;internalization&amp;nbsp;+&amp;nbsp;minimal&amp;nbsp;memory&amp;nbsp;usage는&amp;nbsp;실제&amp;nbsp;서비스&amp;nbsp;환경에서&amp;nbsp;큰&amp;nbsp;차이를&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;수치고요.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;&lt;br /&gt;아쉬운&amp;nbsp;점도&amp;nbsp;있습니다.&lt;br /&gt;T2L은&amp;nbsp;아직&amp;nbsp;task-specific&amp;nbsp;LoRA의&amp;nbsp;성능을&amp;nbsp;zero-shot으로&amp;nbsp;완전히&amp;nbsp;따라잡지는&amp;nbsp;못했고,&amp;nbsp;task&amp;nbsp;description의&amp;nbsp;quality에&amp;nbsp;민감하다는&amp;nbsp;한계가&amp;nbsp;있습니다.&lt;br /&gt;D2L은&amp;nbsp;knowledge&amp;nbsp;interference&amp;nbsp;문제가&amp;nbsp;있고,&amp;nbsp;meta-training&amp;nbsp;자체가&amp;nbsp;여전히&amp;nbsp;비싼&amp;nbsp;과정&amp;nbsp;(8&amp;nbsp;H200&amp;nbsp;GPU에서&amp;nbsp;5일)이라는&amp;nbsp;점이&amp;nbsp;걸립니다.&lt;br /&gt;또한&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;D2L이&amp;nbsp;새로운&amp;nbsp;target&amp;nbsp;LLM마다&amp;nbsp;hypernetwork를&amp;nbsp;재학습&lt;/b&gt;&lt;/span&gt;해야&amp;nbsp;한다는&amp;nbsp;것도&amp;nbsp;scalability&amp;nbsp;측면에서&amp;nbsp;고려할&amp;nbsp;부분이고요.&lt;br /&gt;&lt;br /&gt;그래도&amp;nbsp;전체적으로,&amp;nbsp;&quot;자연어만으로&amp;nbsp;LLM을&amp;nbsp;즉시&amp;nbsp;adaptation&quot;한다는&amp;nbsp;방향&amp;nbsp;자체는&amp;nbsp;매우&amp;nbsp;매력적입니다.&lt;br /&gt;특히&amp;nbsp;D2L의&amp;nbsp;VLM&amp;nbsp;&amp;rarr;&amp;nbsp;LLM&amp;nbsp;transfer&amp;nbsp;실험&amp;nbsp;같은&amp;nbsp;건,&amp;nbsp;hypernetwork가&amp;nbsp;단순히&amp;nbsp;text&amp;nbsp;information만&amp;nbsp;전달하는&amp;nbsp;게&amp;nbsp;아니라&amp;nbsp;cross-modal&amp;nbsp;knowledge&amp;nbsp;transfer의&amp;nbsp;도구가&amp;nbsp;될&amp;nbsp;수&amp;nbsp;있음을&amp;nbsp;보여주는&amp;nbsp;것&amp;nbsp;같아서&amp;nbsp;향후&amp;nbsp;발전이&amp;nbsp;기대됩니다.&lt;br /&gt;inference-time&amp;nbsp;training이나&amp;nbsp;continual&amp;nbsp;learning,&amp;nbsp;personalization&amp;nbsp;쪽으로&amp;nbsp;확장될&amp;nbsp;가능성이&amp;nbsp;충분해&amp;nbsp;보이고,&amp;nbsp;이&amp;nbsp;방향의&amp;nbsp;후속&amp;nbsp;연구가&amp;nbsp;어떻게&amp;nbsp;전개될지&amp;nbsp;지켜보면&amp;nbsp;좋을&amp;nbsp;것&amp;nbsp;같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://polyfill.io/v3/polyfill.min.js?features=es6&quot;&gt;&lt;/script&gt;
&lt;script&gt; MathJax = { tex: {inlineMath: [['$', '$'], ['\(', '\)']]} }; &lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>Context Distillation</category>
      <category>Hypernetwork</category>
      <category>LLM Adaptation</category>
      <category>LoRa</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/526</guid>
      <comments>https://chanmuzi.tistory.com/526#entry526comment</comments>
      <pubDate>Sun, 8 Mar 2026 17:02:40 +0900</pubDate>
    </item>
    <item>
      <title>&amp;lt;Agent, Personalization&amp;gt; Learning Personalized Agents from Human Feedback (2026.02)</title>
      <link>https://chanmuzi.tistory.com/525</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다  &amp;zwj;♂️&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div id=&quot;USE_CHAT_GPT_AI_ROOT&quot; style=&quot;display: none; z-index: -1; position: absolute; top: -10000px; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;&quot;&gt;usechatgpt init success&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;[Meta Superintelligence Labs, Princeton University, Duke University] &lt;br /&gt;- static data에 의존하지 않고 online interaction을 통해 &lt;b&gt;continual personalization&lt;/b&gt;을 수행하는 PAHF 프레임워크 제안 &lt;br /&gt;- &lt;b&gt;pre-action clarification과 post-action feedback이라는 dual feedback channel&lt;/b&gt;을 활용하여 explicit per-user memory를 업데이트 &lt;br /&gt;- embodied manipulation과 online shopping 두 도메인에서 four-phase evaluation protocol로 평가 &lt;br /&gt;- 이론적 분석을 통해 두 feedback channel의 complementarity를 증명하고, 실험적으로도 PAHF가 single-channel baseline 대비 일관되게 우수한 성능을 보여줌&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;출처 : &lt;a href=&quot;https://arxiv.org/abs/2602.16173&quot;&gt;https://arxiv.org/abs/2602.16173&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1771782077250&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Learning Personalized Agents from Human Feedback&quot; data-og-description=&quot;Modern AI agents are powerful but often fail to align with the idiosyncratic, evolving preferences of individual users. Prior approaches typically rely on static datasets, either training implicit preference models on interaction history or encoding user p&quot; data-og-host=&quot;arxiv.org&quot; data-og-source-url=&quot;https://arxiv.org/abs/2602.16173&quot; data-og-url=&quot;https://arxiv.org/abs/2602.16173v1&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bN03FT/dJMb9g47YxG/C71nMUxJe5TikZ46XRxMa0/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/xqdUP/dJMb9fZr8jt/Di5kKy4Fih8M5k4QzovkIk/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/2602.16173&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://arxiv.org/abs/2602.16173&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bN03FT/dJMb9g47YxG/C71nMUxJe5TikZ46XRxMa0/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/xqdUP/dJMb9fZr8jt/Di5kKy4Fih8M5k4QzovkIk/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Learning Personalized Agents from Human Feedback&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Modern AI agents are powerful but often fail to align with the idiosyncratic, evolving preferences of individual users. Prior approaches typically rely on static datasets, either training implicit preference models on interaction history or encoding user p&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;arxiv.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘&amp;nbsp;LLM&amp;nbsp;기반&amp;nbsp;AI&amp;nbsp;agent가&amp;nbsp;디지털&amp;nbsp;어시스턴트부터&amp;nbsp;embodied&amp;nbsp;robot까지&amp;nbsp;다양한&amp;nbsp;분야에서&amp;nbsp;활용되고&amp;nbsp;있는데요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런&amp;nbsp;agent들이&amp;nbsp;개별&amp;nbsp;사용자의&amp;nbsp;복잡하고&amp;nbsp;idiosyncratic한&amp;nbsp;선호도에&amp;nbsp;맞춰&amp;nbsp;행동하는&amp;nbsp;것은&amp;nbsp;여전히&amp;nbsp;어려운&amp;nbsp;문제입니다.&lt;br /&gt;기존&amp;nbsp;personalized&amp;nbsp;assistant&amp;nbsp;연구들은&amp;nbsp;대부분&amp;nbsp;static&amp;nbsp;data에&amp;nbsp;의존해왔습니다.&amp;nbsp;historical&amp;nbsp;interaction&amp;nbsp;log로부터&amp;nbsp;implicit&amp;nbsp;preference를&amp;nbsp;학습하거나,&amp;nbsp;미리&amp;nbsp;정의된&amp;nbsp;user&amp;nbsp;profile을&amp;nbsp;agent&amp;nbsp;memory에&amp;nbsp;넣어두는&amp;nbsp;방식이었는데요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런&amp;nbsp;접근법은&amp;nbsp;세&amp;nbsp;가지&amp;nbsp;핵심&amp;nbsp;한계가&amp;nbsp;있습니다.&lt;br /&gt;&lt;br /&gt;(1)&amp;nbsp;&lt;b&gt;새로운&amp;nbsp;사용자&lt;/b&gt;에&amp;nbsp;대해&amp;nbsp;즉시&amp;nbsp;적응할&amp;nbsp;수&amp;nbsp;없고&amp;nbsp;(profile이나&amp;nbsp;interaction&amp;nbsp;history가&amp;nbsp;없으니까요),&lt;br /&gt;(2)&amp;nbsp;&lt;b&gt;real-time&amp;nbsp;corrective&amp;nbsp;feedback&lt;/b&gt;으로부터&amp;nbsp;학습할&amp;nbsp;수&amp;nbsp;없으며,&lt;br /&gt;(3)&amp;nbsp;사용자의&amp;nbsp;선호도가&amp;nbsp;시간이&amp;nbsp;지나면서&amp;nbsp;변화하는&amp;nbsp;&lt;b&gt;non-stationarity&lt;/b&gt;를&amp;nbsp;처리하지&amp;nbsp;못합니다.&lt;br /&gt;&lt;br /&gt;이&amp;nbsp;논문에서는&amp;nbsp;이런&amp;nbsp;문제들을&amp;nbsp;해결하기&amp;nbsp;위해&amp;nbsp;&lt;b&gt;Personalized&amp;nbsp;Agents&amp;nbsp;from&amp;nbsp;Human&amp;nbsp;Feedback&amp;nbsp;(PAHF)&amp;nbsp;프레임워크&lt;/b&gt;를&amp;nbsp;제안합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PAHF는&amp;nbsp;static&amp;nbsp;data&amp;nbsp;assumption에서&amp;nbsp;벗어나&amp;nbsp;interaction&amp;nbsp;자체를&amp;nbsp;primary&amp;nbsp;learning&amp;nbsp;signal로&amp;nbsp;활용하고,&amp;nbsp;explicit&amp;nbsp;per-user&amp;nbsp;memory를&amp;nbsp;pre-action과&amp;nbsp;post-action&amp;nbsp;feedback을&amp;nbsp;통해&amp;nbsp;지속적으로&amp;nbsp;업데이트하는&amp;nbsp;방식입니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2518&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JsBIa/dJMcagkd84Z/rh1QoAvkuvbMpysjDSnJv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JsBIa/dJMcagkd84Z/rh1QoAvkuvbMpysjDSnJv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JsBIa/dJMcagkd84Z/rh1QoAvkuvbMpysjDSnJv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJsBIa%2FdJMcagkd84Z%2Frh1QoAvkuvbMpysjDSnJv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;231&quot; data-origin-width=&quot;2518&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;Figure&amp;nbsp;1은&amp;nbsp;기존&amp;nbsp;static&amp;nbsp;personalization과&amp;nbsp;이&amp;nbsp;논문에서&amp;nbsp;제안하는&amp;nbsp;continual&amp;nbsp;personalization의&amp;nbsp;차이를&amp;nbsp;보여줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에는&amp;nbsp;offline으로&amp;nbsp;한&amp;nbsp;번&amp;nbsp;user&amp;nbsp;profile을&amp;nbsp;만들어&amp;nbsp;놓고&amp;nbsp;deployment&amp;nbsp;때&amp;nbsp;읽기만&amp;nbsp;했다면,&amp;nbsp;PAHF는&amp;nbsp;online&amp;nbsp;interaction&amp;nbsp;과정에서&amp;nbsp;memory를&amp;nbsp;읽고&amp;nbsp;쓰는&amp;nbsp;것을&amp;nbsp;동시에&amp;nbsp;수행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Approach&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.1.&amp;nbsp;Formalizing&amp;nbsp;Continual&amp;nbsp;Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PAHF는&amp;nbsp;continual&amp;nbsp;personalization을&amp;nbsp;online&amp;nbsp;learning&amp;nbsp;문제로&amp;nbsp;formalization합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매&amp;nbsp;interaction&amp;nbsp;$t$에서&amp;nbsp;사용자는&amp;nbsp;latent&amp;nbsp;preference&amp;nbsp;state&amp;nbsp;$M^*_t$를&amp;nbsp;가지고&amp;nbsp;있고,&amp;nbsp;instruction&amp;nbsp;$I_t$를&amp;nbsp;내립니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Agent는&amp;nbsp;explicit&amp;nbsp;preference&amp;nbsp;memory&amp;nbsp;$\hat{M}_t$를&amp;nbsp;유지하면서&amp;nbsp;action&amp;nbsp;$a_t$를&amp;nbsp;선택하는데요.&amp;nbsp;목표는&amp;nbsp;cumulative&amp;nbsp;personalization&amp;nbsp;error&amp;nbsp;$\sum_{t=1}^{T}&amp;nbsp;L_t$를&amp;nbsp;최소화하는&amp;nbsp;것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서&amp;nbsp;$L_t&amp;nbsp;=&amp;nbsp;\mathbf{1}[a_t&amp;nbsp;\neq&amp;nbsp;a^*_t]$는&amp;nbsp;0-1&amp;nbsp;loss입니다.&lt;br /&gt;&lt;br /&gt;이&amp;nbsp;문제가&amp;nbsp;어려운&amp;nbsp;이유는&amp;nbsp;agent의&amp;nbsp;preference&amp;nbsp;memory&amp;nbsp;$\hat{M}_t$가&amp;nbsp;두&amp;nbsp;가지&amp;nbsp;유형의&amp;nbsp;error에&amp;nbsp;취약하기&amp;nbsp;때문입니다.&lt;br /&gt;&lt;br /&gt;-&amp;nbsp;Partial&amp;nbsp;Observability:&amp;nbsp;사용자의&amp;nbsp;true&amp;nbsp;state&amp;nbsp;$M^*_t$가&amp;nbsp;hidden이라서&amp;nbsp;memory가&amp;nbsp;incomplete할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;새로운&amp;nbsp;사용자의&amp;nbsp;경우&amp;nbsp;$\hat{M}_t&amp;nbsp;=&amp;nbsp;\emptyset$인&amp;nbsp;상황이죠.&lt;br /&gt;-&amp;nbsp;Non-Stationarity:&amp;nbsp;사용자의&amp;nbsp;preference가&amp;nbsp;시간에&amp;nbsp;따라&amp;nbsp;변할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;이른바&amp;nbsp;&quot;preference&amp;nbsp;drift&quot;인데,&amp;nbsp;agent가&amp;nbsp;outdated된&amp;nbsp;belief를&amp;nbsp;자신있게&amp;nbsp;가지고&amp;nbsp;있는&amp;nbsp;miscalibration&amp;nbsp;상태가&amp;nbsp;됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #14181f; text-align: start;&quot;&gt;2.2. PAHF Framework &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PAHF는&amp;nbsp;이&amp;nbsp;online&amp;nbsp;personalization&amp;nbsp;문제를&amp;nbsp;해결하기&amp;nbsp;위한&amp;nbsp;three-step&amp;nbsp;interactive&amp;nbsp;loop을&amp;nbsp;제안합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2532&quot; data-origin-height=&quot;1182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJ6aez/dJMcaadgwFN/iuZTLFKhFOhrYV7H09JSf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJ6aez/dJMcaadgwFN/iuZTLFKhFOhrYV7H09JSf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJ6aez/dJMcaadgwFN/iuZTLFKhFOhrYV7H09JSf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJ6aez%2FdJMcaadgwFN%2FiuZTLFKhFOhrYV7H09JSf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;723&quot; height=&quot;338&quot; data-origin-width=&quot;2532&quot; data-origin-height=&quot;1182&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;첫&amp;nbsp;번째&amp;nbsp;단계는&amp;nbsp;&lt;b&gt;Pre-Action&amp;nbsp;Interaction&lt;/b&gt;입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Agent가&amp;nbsp;instruction&amp;nbsp;$I_t$를&amp;nbsp;받으면&amp;nbsp;먼저&amp;nbsp;memory&amp;nbsp;$\hat{M}_t$에서&amp;nbsp;관련&amp;nbsp;preference를&amp;nbsp;검색합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약&amp;nbsp;관련&amp;nbsp;정보가&amp;nbsp;없으면&amp;nbsp;(예:&amp;nbsp;새로운&amp;nbsp;사용자)&amp;nbsp;사용자에게&amp;nbsp;proactively&amp;nbsp;clarification&amp;nbsp;question을&amp;nbsp;던집니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이&amp;nbsp;feedback은&amp;nbsp;action&amp;nbsp;전에&amp;nbsp;memory에&amp;nbsp;기록됩니다:&lt;br /&gt;&lt;br /&gt;$$\hat{M}'_t&amp;nbsp;=&amp;nbsp;F^{pre}_{update}(\hat{M}_t,&amp;nbsp;I_t,&amp;nbsp;O_t,&amp;nbsp;m_t,&amp;nbsp;q_t,&amp;nbsp;f^{pre}_t)$$&lt;br /&gt;&lt;br /&gt;두&amp;nbsp;번째&amp;nbsp;단계는&amp;nbsp;&lt;b&gt;Action&amp;nbsp;Execution&lt;/b&gt;입니다.&amp;nbsp;Agent의&amp;nbsp;action&amp;nbsp;policy&amp;nbsp;$\pi_{act}$가&amp;nbsp;모든&amp;nbsp;available&amp;nbsp;information을&amp;nbsp;종합하여&amp;nbsp;최종&amp;nbsp;action을&amp;nbsp;결정합니다:&lt;br /&gt;&lt;br /&gt;$$a_t&amp;nbsp;=&amp;nbsp;\pi_{act}(I_t,&amp;nbsp;O_t,&amp;nbsp;m_t,&amp;nbsp;q_t,&amp;nbsp;f^{pre}_t)$$&lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어&amp;nbsp;&quot;Bring&amp;nbsp;my&amp;nbsp;favorite&amp;nbsp;drink&quot;이라는&amp;nbsp;task에서,&amp;nbsp;memory에&amp;nbsp;&quot;favorite&amp;nbsp;drink&amp;nbsp;is&amp;nbsp;Coke&quot;라는&amp;nbsp;정보가&amp;nbsp;있으면&amp;nbsp;바로&amp;nbsp;Coke를&amp;nbsp;집고,&amp;nbsp;없으면&amp;nbsp;pre-action&amp;nbsp;interaction에서&amp;nbsp;얻은&amp;nbsp;답변을&amp;nbsp;활용합니다.&lt;br /&gt;&lt;br /&gt;세&amp;nbsp;번째이자&amp;nbsp;가장&amp;nbsp;핵심적인&amp;nbsp;단계는&amp;nbsp;&lt;b&gt;Post-Action&amp;nbsp;Feedback&amp;nbsp;Integration&lt;/b&gt;입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Agent의&amp;nbsp;action이&amp;nbsp;틀렸을&amp;nbsp;때&amp;nbsp;사용자가&amp;nbsp;corrective&amp;nbsp;feedback을&amp;nbsp;제공하면,&amp;nbsp;이를&amp;nbsp;memory에&amp;nbsp;반영합니다:&lt;br /&gt;&lt;br /&gt;$$\hat{M}_{t+1}&amp;nbsp;=&amp;nbsp;F^{post}_{update}(\hat{M}'_t,&amp;nbsp;I_t,&amp;nbsp;m_t,&amp;nbsp;q_t,&amp;nbsp;f^{pre}_t,&amp;nbsp;a_t,&amp;nbsp;f^{post}_t)$$&lt;br /&gt;&lt;br /&gt;개인적으로&amp;nbsp;이&amp;nbsp;세&amp;nbsp;단계의&amp;nbsp;설계가&amp;nbsp;꽤&amp;nbsp;직관적이라고&amp;nbsp;생각합니다.&amp;nbsp;Pre-action은&amp;nbsp;&quot;모르는&amp;nbsp;걸&amp;nbsp;물어보는&amp;nbsp;것&quot;이고,&amp;nbsp;post-action은&amp;nbsp;&quot;틀린&amp;nbsp;걸&amp;nbsp;고치는&amp;nbsp;것&quot;인데,&amp;nbsp;이&amp;nbsp;두&amp;nbsp;가지가&amp;nbsp;complementary하다는&amp;nbsp;점을&amp;nbsp;명확하게&amp;nbsp;짚어준&amp;nbsp;것이&amp;nbsp;이&amp;nbsp;논문의&amp;nbsp;좋은&amp;nbsp;점인&amp;nbsp;것&amp;nbsp;같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.3.&amp;nbsp;Theoretical&amp;nbsp;Justification&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문에서는&amp;nbsp;두&amp;nbsp;feedback&amp;nbsp;channel의&amp;nbsp;necessity를&amp;nbsp;이론적으로&amp;nbsp;증명합니다.&amp;nbsp;핵심적인&amp;nbsp;결과만&amp;nbsp;간단히&amp;nbsp;요약하자면:&lt;br /&gt;&lt;br /&gt;Proposition&amp;nbsp;1은&amp;nbsp;post-action&amp;nbsp;feedback의&amp;nbsp;필요성을&amp;nbsp;보여줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Preference&amp;nbsp;drift가&amp;nbsp;있는&amp;nbsp;상황(최대&amp;nbsp;$K$번&amp;nbsp;switch)에서,&amp;nbsp;post-action&amp;nbsp;feedback을&amp;nbsp;사용하지&amp;nbsp;않는&amp;nbsp;어떤&amp;nbsp;policy든&amp;nbsp;$\Omega(T)$의&amp;nbsp;expected&amp;nbsp;mistake를&amp;nbsp;냅니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반면&amp;nbsp;post-action&amp;nbsp;update를&amp;nbsp;수행하면&amp;nbsp;$O(K)$로&amp;nbsp;줄일&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직관적으로&amp;nbsp;생각해보면,&amp;nbsp;drift를&amp;nbsp;감지할&amp;nbsp;방법이&amp;nbsp;없으니&amp;nbsp;stale&amp;nbsp;preference를&amp;nbsp;계속&amp;nbsp;사용하게&amp;nbsp;되는&amp;nbsp;것이죠.&lt;br /&gt;&lt;br /&gt;Proposition&amp;nbsp;2는&amp;nbsp;pre-action&amp;nbsp;feedback의&amp;nbsp;필요성을&amp;nbsp;보여줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ambiguous&amp;nbsp;round의&amp;nbsp;비율이&amp;nbsp;$\gamma&amp;nbsp;&amp;gt;&amp;nbsp;0$일&amp;nbsp;때,&amp;nbsp;pre-action&amp;nbsp;clarification&amp;nbsp;없이는&amp;nbsp;$\Omega(\gamma&amp;nbsp;T)$의&amp;nbsp;error가&amp;nbsp;발생하지만,&amp;nbsp;&lt;b&gt;$k$개의&amp;nbsp;balanced&amp;nbsp;$m$-ary&amp;nbsp;question을&amp;nbsp;던지면&amp;nbsp;$O(\gamma&amp;nbsp;T&amp;nbsp;\cdot&amp;nbsp;m^{-k})$로&amp;nbsp;줄일&amp;nbsp;수&amp;nbsp;있습니다.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;최종적으로&amp;nbsp;Theorem&amp;nbsp;1에서&amp;nbsp;두&amp;nbsp;channel을&amp;nbsp;모두&amp;nbsp;사용하는&amp;nbsp;PAHF&amp;nbsp;policy의&amp;nbsp;dynamic&amp;nbsp;regret&amp;nbsp;bound를&amp;nbsp;제시합니다:&lt;br /&gt;&lt;br /&gt;$$E[R_T]&amp;nbsp;=&amp;nbsp;O(K&amp;nbsp;+&amp;nbsp;\gamma&amp;nbsp;T&amp;nbsp;m^{-k})$$&lt;br /&gt;&lt;br /&gt;$k&amp;nbsp;=&amp;nbsp;\Theta(\log_m&amp;nbsp;T)$로&amp;nbsp;설정하면&amp;nbsp;$E[R_T]&amp;nbsp;=&amp;nbsp;O(K&amp;nbsp;+&amp;nbsp;\gamma)$가&amp;nbsp;되어,&amp;nbsp;preference&amp;nbsp;switch&amp;nbsp;횟수와&amp;nbsp;ambiguity&amp;nbsp;rate에만&amp;nbsp;의존하는&amp;nbsp;tight한&amp;nbsp;bound를&amp;nbsp;얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.4.&amp;nbsp;Implementation&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Agent는&amp;nbsp;ReAct&amp;nbsp;framework&amp;nbsp;기반으로&amp;nbsp;GPT-4o를&amp;nbsp;사용합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Memory&amp;nbsp;backend로는&amp;nbsp;SQLite&amp;nbsp;note&amp;nbsp;store와&amp;nbsp;FAISS-based&amp;nbsp;vector&amp;nbsp;index&amp;nbsp;두&amp;nbsp;가지를&amp;nbsp;구현했는데,&amp;nbsp;둘&amp;nbsp;다&amp;nbsp;동일한&amp;nbsp;retrieval&amp;nbsp;semantics를&amp;nbsp;제공합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문의&amp;nbsp;목적이&amp;nbsp;새로운&amp;nbsp;memory&amp;nbsp;architecture를&amp;nbsp;제안하는&amp;nbsp;것이&amp;nbsp;아니라&amp;nbsp;&lt;b&gt;feedback&amp;nbsp;channel의&amp;nbsp;효과를&amp;nbsp;검증&lt;/b&gt;하는&amp;nbsp;것이기&amp;nbsp;때문에&amp;nbsp;의도적으로&amp;nbsp;simple한&amp;nbsp;design을&amp;nbsp;선택했다고&amp;nbsp;합니다.&lt;br /&gt;&lt;br /&gt;Memory&amp;nbsp;interaction은&amp;nbsp;reading(retrieval)과&amp;nbsp;writing(update)&amp;nbsp;두&amp;nbsp;축으로&amp;nbsp;구성됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Reading은 standard RAG pipeline을 따르고, writing은 salience detection &amp;rarr; summarization &amp;rarr; integration (update vs. add 판단)의 multi-step process입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 이 부분이 논문의 contribution을 명확하게 하는 좋은 선택이었다고 생각합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Memory architecture에 신경 쓰기 시작하면 feedback channel의 효과를 isolate하기 어려워지니까요.&lt;br /&gt;&lt;br /&gt;비교&amp;nbsp;대상으로는&amp;nbsp;네&amp;nbsp;가지&amp;nbsp;setting을&amp;nbsp;사용합니다:&lt;br /&gt;(i)&amp;nbsp;No&amp;nbsp;Memory&amp;nbsp;(persistent&amp;nbsp;store&amp;nbsp;없음),&lt;br /&gt;(ii)&amp;nbsp;Pre-action&amp;nbsp;Only&amp;nbsp;(clarification만&amp;nbsp;허용,&amp;nbsp;post-action&amp;nbsp;update&amp;nbsp;없음),&lt;br /&gt;(iii)&amp;nbsp;Post-action&amp;nbsp;Only&amp;nbsp;(clarification&amp;nbsp;없이&amp;nbsp;corrective&amp;nbsp;feedback으로만&amp;nbsp;학습),&lt;br /&gt;(iv)&amp;nbsp;PAHF&amp;nbsp;(두&amp;nbsp;channel&amp;nbsp;모두&amp;nbsp;사용).&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Experiments&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.1.&amp;nbsp;Evaluation&amp;nbsp;Domains&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두&amp;nbsp;개의&amp;nbsp;도메인에서&amp;nbsp;평가를&amp;nbsp;수행합니다.&lt;br /&gt;&lt;br /&gt;Embodied&amp;nbsp;Manipulation&amp;nbsp;Domain은&amp;nbsp;일상적인&amp;nbsp;indoor&amp;nbsp;mobile-manipulation&amp;nbsp;task를&amp;nbsp;모델링합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;40명의&amp;nbsp;user&amp;nbsp;persona가&amp;nbsp;있고,&amp;nbsp;각&amp;nbsp;persona는&amp;nbsp;context-dependent한&amp;nbsp;preference를&amp;nbsp;가집니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를&amp;nbsp;들어&amp;nbsp;&quot;Alex&quot;는&amp;nbsp;보통&amp;nbsp;black&amp;nbsp;coffee를&amp;nbsp;좋아하지만,&amp;nbsp;drowsy한&amp;nbsp;상태에서는&amp;nbsp;herbal&amp;nbsp;tea를&amp;nbsp;선호하는&amp;nbsp;식입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의도적으로&amp;nbsp;idiosyncratic하고&amp;nbsp;unconventional한&amp;nbsp;preference를&amp;nbsp;설계해서,&amp;nbsp;&lt;b&gt;generic&amp;nbsp;commonsense로는&amp;nbsp;정답을&amp;nbsp;맞출&amp;nbsp;수&amp;nbsp;없게&lt;/b&gt;&amp;nbsp;했습니다.&lt;br /&gt;&lt;br /&gt;Online&amp;nbsp;Shopping&amp;nbsp;Domain은&amp;nbsp;자연어&amp;nbsp;purchase&amp;nbsp;request를&amp;nbsp;처리하는&amp;nbsp;task입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Agent가&amp;nbsp;세&amp;nbsp;개의&amp;nbsp;product&amp;nbsp;candidate&amp;nbsp;중&amp;nbsp;하나를&amp;nbsp;선택하거나&amp;nbsp;abstain해야&amp;nbsp;합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특이한&amp;nbsp;점은&amp;nbsp;option들이&amp;nbsp;adversarially&amp;nbsp;구성된&amp;nbsp;&quot;near-miss&quot;라는&amp;nbsp;것인데,&amp;nbsp;대부분의&amp;nbsp;feature는&amp;nbsp;preferred하지만&amp;nbsp;하나의&amp;nbsp;&quot;poison&amp;nbsp;pill&quot;&amp;nbsp;feature가&amp;nbsp;있어서&amp;nbsp;&lt;b&gt;fine-grained&amp;nbsp;reasoning이&amp;nbsp;필요&lt;/b&gt;합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이&amp;nbsp;도메인이&amp;nbsp;embodied보다&amp;nbsp;훨씬&amp;nbsp;challenging하다고&amp;nbsp;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.2.&amp;nbsp;Evaluation&amp;nbsp;Protocol&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Four-phase&amp;nbsp;evaluation&amp;nbsp;protocol을&amp;nbsp;설계했습니다:&lt;br /&gt;-&amp;nbsp;Phase&amp;nbsp;1&amp;nbsp;(Initial&amp;nbsp;Learning):&amp;nbsp;empty&amp;nbsp;memory에서&amp;nbsp;시작하여&amp;nbsp;initial&amp;nbsp;preference를&amp;nbsp;학습&lt;br /&gt;-&amp;nbsp;Phase&amp;nbsp;2&amp;nbsp;(Initial&amp;nbsp;Personalization&amp;nbsp;Test):&amp;nbsp;Phase&amp;nbsp;1에서&amp;nbsp;학습한&amp;nbsp;memory로&amp;nbsp;새로운&amp;nbsp;scenario에서&amp;nbsp;평가&amp;nbsp;(feedback&amp;nbsp;없음)&lt;br /&gt;-&amp;nbsp;Phase&amp;nbsp;3&amp;nbsp;(Adaptation&amp;nbsp;to&amp;nbsp;Drift):&amp;nbsp;persona를&amp;nbsp;바꿔서&amp;nbsp;preference&amp;nbsp;drift&amp;nbsp;상황을&amp;nbsp;만들고&amp;nbsp;재학습&lt;br /&gt;-&amp;nbsp;Phase&amp;nbsp;4&amp;nbsp;(Adapted&amp;nbsp;Personalization&amp;nbsp;Test):&amp;nbsp;Phase&amp;nbsp;3에서&amp;nbsp;업데이트된&amp;nbsp;memory로&amp;nbsp;평가&lt;br /&gt;&lt;br /&gt;이&amp;nbsp;protocol이&amp;nbsp;initial&amp;nbsp;learning과&amp;nbsp;adaptation&amp;nbsp;to&amp;nbsp;drift를&amp;nbsp;깔끔하게&amp;nbsp;분리해서&amp;nbsp;측정할&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;해준다는&amp;nbsp;점에서&amp;nbsp;잘&amp;nbsp;설계되었다고&amp;nbsp;생각합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.3.&amp;nbsp;Results&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drygF8/dJMcagkd9vM/xJAcaVYEXo8iYJpBCxYJS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drygF8/dJMcagkd9vM/xJAcaVYEXo8iYJpBCxYJS1/img.png&quot; data-origin-width=&quot;2534&quot; data-origin-height=&quot;1416&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.9907%; margin-right: 10px;&quot; data-widthpercent=&quot;49.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drygF8/dJMcagkd9vM/xJAcaVYEXo8iYJpBCxYJS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrygF8%2FdJMcagkd9vM%2FxJAcaVYEXo8iYJpBCxYJS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2534&quot; height=&quot;1416&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZ9xzB/dJMcagR5q1G/6vLg6D4Moa7hjamZGjmzYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZ9xzB/dJMcagR5q1G/6vLg6D4Moa7hjamZGjmzYK/img.png&quot; data-origin-width=&quot;2520&quot; data-origin-height=&quot;1384&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.8465%;&quot; data-widthpercent=&quot;50.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZ9xzB/dJMcagR5q1G/6vLg6D4Moa7hjamZGjmzYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZ9xzB%2FdJMcagR5q1G%2F6vLg6D4Moa7hjamZGjmzYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2520&quot; height=&quot;1384&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;결과를 보면 몇 가지 핵심 패턴이 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;첫째,&amp;nbsp;pre-action&amp;nbsp;feedback은&amp;nbsp;initial&amp;nbsp;personalization&amp;nbsp;error를&amp;nbsp;방지합니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Phase&amp;nbsp;1에서&amp;nbsp;Pre-action&amp;nbsp;Only와&amp;nbsp;PAHF가&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;interaction부터&amp;nbsp;훨씬&amp;nbsp;높은&amp;nbsp;success&amp;nbsp;rate를&amp;nbsp;보여줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;행동하기&amp;nbsp;전에&amp;nbsp;물어보는&amp;nbsp;것만으로도&amp;nbsp;초기&amp;nbsp;실수를&amp;nbsp;크게&amp;nbsp;줄일&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;것이죠.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;둘째,&amp;nbsp;pre-action&amp;nbsp;feedback만으로는&amp;nbsp;preference&amp;nbsp;drift에&amp;nbsp;취약합니다.&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Phase&amp;nbsp;3에서&amp;nbsp;Pre-action&amp;nbsp;Only&amp;nbsp;agent는&amp;nbsp;이미&amp;nbsp;confident한&amp;nbsp;note가&amp;nbsp;memory에&amp;nbsp;있기&amp;nbsp;때문에&amp;nbsp;더&amp;nbsp;이상&amp;nbsp;ambiguity를&amp;nbsp;느끼지&amp;nbsp;못하고&amp;nbsp;clarification&amp;nbsp;question을&amp;nbsp;하지&amp;nbsp;않습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&amp;nbsp;자기가&amp;nbsp;틀렸다는&amp;nbsp;걸&amp;nbsp;모르는&amp;nbsp;상태가&amp;nbsp;되는&amp;nbsp;거죠.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이게&amp;nbsp;개인적으로&amp;nbsp;가장&amp;nbsp;인상적인&amp;nbsp;발견이었는데요,&amp;nbsp;&quot;자신있게&amp;nbsp;틀리는&quot;&amp;nbsp;agent의&amp;nbsp;문제를&amp;nbsp;pre-action만으로는&amp;nbsp;해결할&amp;nbsp;수&amp;nbsp;없다는&amp;nbsp;점이&amp;nbsp;명확하게&amp;nbsp;드러납니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;셋째,&amp;nbsp;post-action&amp;nbsp;feedback은&amp;nbsp;빠른&amp;nbsp;adaptation을&amp;nbsp;가능하게&amp;nbsp;합니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Post-action&amp;nbsp;Only와&amp;nbsp;PAHF&amp;nbsp;모두&amp;nbsp;Phase&amp;nbsp;3에서&amp;nbsp;iteration이&amp;nbsp;진행됨에&amp;nbsp;따라&amp;nbsp;success&amp;nbsp;rate가&amp;nbsp;급격히&amp;nbsp;상승합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만&amp;nbsp;post-action만&amp;nbsp;쓰면&amp;nbsp;처음에&amp;nbsp;틀려봐야&amp;nbsp;배울&amp;nbsp;수&amp;nbsp;있으니&amp;nbsp;initial&amp;nbsp;error가&amp;nbsp;크다는&amp;nbsp;단점이&amp;nbsp;있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;604&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AXCu9/dJMb99SWy0b/5iRG638Zmx78VhL8ZWq34K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AXCu9/dJMb99SWy0b/5iRG638Zmx78VhL8ZWq34K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AXCu9/dJMb99SWy0b/5iRG638Zmx78VhL8ZWq34K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAXCu9%2FdJMb99SWy0b%2F5iRG638Zmx78VhL8ZWq34K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;227&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;604&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Table 1의 evaluation success rate를 보면, PAHF가 거의 모든 phase와 domain에서 가장 높은 성능을 달성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Embodied domain에서 Phase 2: 70.5%, Phase 4: 68.8%, Shopping domain에서 Phase 2: 41.3%, Phase 4: 70.3%를 기록했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Shopping domain의 Phase 2 성능이 상대적으로 낮은 것이 눈에 띄는데, adversarial near-miss 설계 때문에 fine-grained preference reasoning이 훨씬 어렵기 때문입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4.&amp;nbsp;Conclusion&amp;nbsp;and&amp;nbsp;Discussion&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문에서는&amp;nbsp;PAHF가&amp;nbsp;pre-action과&amp;nbsp;post-action&amp;nbsp;feedback의&amp;nbsp;complementary한&amp;nbsp;장점을&amp;nbsp;결합하여,&amp;nbsp;static&amp;nbsp;personalization의&amp;nbsp;한계를&amp;nbsp;극복했다고&amp;nbsp;결론짓고&amp;nbsp;있습니다.&lt;br /&gt;&lt;br /&gt;개인적인&amp;nbsp;감상을&amp;nbsp;말씀드리자면,&amp;nbsp;이&amp;nbsp;논문의&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;강점은&amp;nbsp;문제&amp;nbsp;설정의&amp;nbsp;명확함이라고&amp;nbsp;생각합니다.&amp;nbsp;&lt;b&gt;&quot;새로운&amp;nbsp;사용자에게&amp;nbsp;어떻게&amp;nbsp;적응할&amp;nbsp;것인가&lt;/b&gt;&quot;와&amp;nbsp;&lt;b&gt;&quot;선호도가&amp;nbsp;바뀌었을&amp;nbsp;때&amp;nbsp;어떻게&amp;nbsp;대응할&amp;nbsp;것인가&quot;&lt;/b&gt;라는&amp;nbsp;두&amp;nbsp;가지&amp;nbsp;핵심&amp;nbsp;질문을&amp;nbsp;분리하고,&amp;nbsp;각각에&amp;nbsp;대응하는&amp;nbsp;feedback&amp;nbsp;channel을&amp;nbsp;제안한&amp;nbsp;뒤,&amp;nbsp;이론과&amp;nbsp;실험&amp;nbsp;모두에서&amp;nbsp;그&amp;nbsp;complementarity를&amp;nbsp;보여주는&amp;nbsp;구조가&amp;nbsp;깔끔합니다.&lt;br /&gt;&lt;br /&gt;한편으로&amp;nbsp;아쉬운&amp;nbsp;점도&amp;nbsp;있습니다.&amp;nbsp;먼저&amp;nbsp;human&amp;nbsp;feedback이&amp;nbsp;LLM&amp;nbsp;simulation으로&amp;nbsp;생성된다는&amp;nbsp;점이&amp;nbsp;실제&amp;nbsp;deployment와의&amp;nbsp;gap을&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있을&amp;nbsp;것&amp;nbsp;같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실제&amp;nbsp;사용자의&amp;nbsp;feedback은&amp;nbsp;noisy하고&amp;nbsp;inconsistent할&amp;nbsp;수&amp;nbsp;있는데&lt;/b&gt;,&amp;nbsp;이&amp;nbsp;부분은&amp;nbsp;limitation에서도&amp;nbsp;언급하고&amp;nbsp;있긴&amp;nbsp;합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한&amp;nbsp;memory&amp;nbsp;design을&amp;nbsp;의도적으로&amp;nbsp;simple하게&amp;nbsp;가져간&amp;nbsp;것은&amp;nbsp;좋은&amp;nbsp;선택이지만,&amp;nbsp;실제&amp;nbsp;production&amp;nbsp;환경에서는&amp;nbsp;memory가&amp;nbsp;커지면서&amp;nbsp;retrieval&amp;nbsp;quality나&amp;nbsp;scalability&amp;nbsp;문제가&amp;nbsp;생길&amp;nbsp;수&amp;nbsp;있을&amp;nbsp;것&amp;nbsp;같습니다.&lt;br /&gt;&lt;br /&gt;그리고&amp;nbsp;online&amp;nbsp;shopping&amp;nbsp;domain에서&amp;nbsp;전반적으로&amp;nbsp;성능이&amp;nbsp;낮다는&amp;nbsp;점&amp;nbsp;(Phase&amp;nbsp;2에서&amp;nbsp;PAHF도&amp;nbsp;41.3%)도&amp;nbsp;눈여겨볼&amp;nbsp;부분입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문에서는&amp;nbsp;의도적으로&amp;nbsp;어렵게&amp;nbsp;설계했다고&amp;nbsp;하지만,&amp;nbsp;이&amp;nbsp;수준의&amp;nbsp;성능으로는&amp;nbsp;실용적&amp;nbsp;활용이&amp;nbsp;쉽지&amp;nbsp;않을&amp;nbsp;것&amp;nbsp;같고,&amp;nbsp;이&amp;nbsp;gap을&amp;nbsp;어떻게&amp;nbsp;줄여갈&amp;nbsp;수&amp;nbsp;있을지가&amp;nbsp;향후&amp;nbsp;연구의&amp;nbsp;중요한&amp;nbsp;방향이&amp;nbsp;될&amp;nbsp;것&amp;nbsp;같습니다.&lt;br /&gt;&lt;br /&gt;전체적으로&amp;nbsp;personalization을&amp;nbsp;continual&amp;nbsp;learning&amp;nbsp;관점에서&amp;nbsp;접근하고,&amp;nbsp;단순히&amp;nbsp;시스템을&amp;nbsp;제안하는&amp;nbsp;것에&amp;nbsp;그치지&amp;nbsp;않고&amp;nbsp;이론적&amp;nbsp;근거까지&amp;nbsp;제시한&amp;nbsp;점이&amp;nbsp;좋았습니다.&amp;nbsp;Explicit&amp;nbsp;memory&amp;nbsp;+&amp;nbsp;dual&amp;nbsp;feedback&amp;nbsp;channel이라는&amp;nbsp;조합이&amp;nbsp;앞으로&amp;nbsp;personalized&amp;nbsp;agent&amp;nbsp;연구의&amp;nbsp;하나의&amp;nbsp;baseline이&amp;nbsp;될&amp;nbsp;수&amp;nbsp;있지&amp;nbsp;않을까&amp;nbsp;싶습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://polyfill.io/v3/polyfill.min.js?features=es6&quot;&gt;&lt;/script&gt;
&lt;script&gt; MathJax = { tex: {inlineMath: [['$', '$'], ['\(', '\)']]} }; &lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>Agent</category>
      <category>Memory</category>
      <category>Personalization</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/525</guid>
      <comments>https://chanmuzi.tistory.com/525#entry525comment</comments>
      <pubDate>Mon, 23 Feb 2026 03:04:32 +0900</pubDate>
    </item>
    <item>
      <title>꽤 늦은 2025년 회고</title>
      <link>https://chanmuzi.tistory.com/524</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;0. 회고&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이버에서부터 블로그를 시작한 지도 어느덧 거의 4년이 다 되어간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기록하는 것 자체도 좋아하고 기록물이 누군가에게 공유될 수 있다는 것도 굉장히 큰 의미를 가졌었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 이 업계/분야에 진입하면서 &lt;b&gt;나의 노력과 열정이 누군가(아마 인사 담당자)에게 잘 전달&lt;/b&gt;될 수 있도록 하는 것에 집중했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간이 지나면 기술 블로그로 보여줄 수 있겠지? 아마 가산점이 되지 않을까?,라고 생각하며.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀 더 의미가 있는 글을 쓰기 시작했을 땐 아마 &lt;b&gt;알고리즘 리뷰를 똑바로 작성하자&lt;/b&gt;고 마음 먹었을 때인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 학습하는 내용을 남기는 글이 크게 의미가 없고, 내가 블로그를 운영하는 이유는 어쨌든 다른 누군가가 글을 보게 하기 위함이었으니 목적에 적합한 글을 작성하려고 생각했던 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(과거에는 잘쓰인 백준 리뷰 포스팅을 찾기 위해 블로그를 마구 뒤져보던 기억이 있는데, 글을 좀 똑바로 써줄 수는 없는 걸까, 답답했던 마음이 나는 글을 제대로 써야겠다 생각하는 동기가 되었다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 &lt;b&gt;논문 리뷰&lt;/b&gt;는 나에게 좀 특별한 의미가 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 이 분야를 진짜 좋아해야지만 할 수 있는 일이었고, 이렇게 공부하고 기록함으로써 많이 성장할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람들도 꾸준히 많은 양의 논문 리뷰를 했다는 걸 되게 신기해하긴 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1년 간 100여 편 이상을 직접 리뷰했다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어느덧 3년차가 되어버린 지금은 그럴 여유가 크게 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하고 있는 업무와 맞닿아 있지 않은 곳들에 시간을 많이 들이기도 어렵고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 노력함으로써 얻을 수 있는 것보다 다른 것을 배움으로써 얻는 게 많은 듯하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글을 써본 사람들은 알겠지만 하나의 글로 정리하고 다듬는 것만으로도 엄청난 '시간'이 요구되기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 요즘은 정말 가끔 한 편씩, 너무 딥하지 않은 글을 쓰는 것 정도가 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재밌는 건 의외로(?) &lt;b&gt;생각보다 다양한 곳에서 블로그를 봤다는 이야기를 종종 듣게 된다&lt;/b&gt;는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지인의 연구실 인턴이, 회사 옆자리 직원이, ... 등등 &lt;b&gt;'누가 찬무지 블로그 보고 있더라'&lt;/b&gt;는 이야기를 가끔 듣곤 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘같이 똑똑한 AI 서비스가 많은 세상에도 의외로 수요가 있는 글들이 있다는 건 되게 재밌는 현상이라고 느꼈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문은 NotebookLM으로 보면 되고,, 취준 후기 같은 건 직접적인 도움이 되기 어려울 수도 있는데,,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여하튼 블로그를 n년째 운영하는 입장에서는 그런 목격담이나 간증들 덕분에 주기적으로 글을 쓰는 게 나름의 책무(?)로 느껴지는 순간들도 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 지난 한 해를 돌아보지 않고서는 너무 아쉬울 것 같은 생각들이 많아 간만의 회고를 작성해 보게 됐다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 두 개의 큰 프로젝트.&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 25년엔 업무적으로 크게 두 개의 프로젝트를 수행했다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;은행에 솔라 기반 RAG 플랫폼 구축하기 (&lt;b&gt;상주 프로젝트&lt;/b&gt;)&lt;/li&gt;
&lt;li&gt;업스테이지 Enterprise LLM 플랫폼 구축하기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;얼핏 보면 굉장히 비슷한 프로젝트들인 것 같지만 실제로는 엄청난 차이가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상주 프로젝트는 정말 쉽지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고객사 지하 개발실로 8개월 출퇴근을 하게 됐는데,,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출퇴근을 하는 건 당연한 것 아닌가, 배가 불렀다,, 이렇게 생각할 수도 있겠지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 업스테이지는 상주 프로젝트를 하지 않는 게 원칙이고, 나는 심지어 정규직 전환 1일차에 상주 프로젝트를 담당하게 된 불운의 케이스였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(큰 프로젝트라 레퍼런스를 확보하기 위해 어쩔 수 없다는 이유로)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누군가는 해야 된다면 내가 할 수도 있다고 생각했으나,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;천장도 낮고 바깥 풍경도 볼 수 없는 고객사 지하 개발실에 갇혀 지내는 것&lt;/b&gt;만으로 큰 스트레스가 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게다가 이 프로젝트는 파트너사와 함께 수행했는데, 구도가 정말 특이했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업스테이지는 모델을 공급하고 파트너사는 RAG와 플랫폼을 책임지고 개발하는 입장이었는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RAG라는 것 자체가 모델 성능에 크게 의존할 수 없다보니 결국엔 RAG를 평가하고 개선하는 데 많은 시간을 쓰게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너무 슬펐던 것은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;폐쇄망 환경에서 ChatGPT는 고사하고 인터넷 검색도 할 수 없는 컴퓨터로 작업을 해야 했다는 점&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;실제로 성능 개선을 위해 할 수 있는 일이라고는 파이프라인 제안과 프롬프트 개선밖에 없었다는 점&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;그래도 회사가 중요하다며 업스테이지 내부 회의도 참석해야 하고 자산으로 남기려고 노력해야 했던 점&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 굉장히 규모가 큰 프로젝트에 수많은 인력이 투입되었음에도 불구하고 (엔지니어 입장에서) 전혀 만족스럽지 않은 결과물이라는 생각이 들었고, 빠르게 변하는 바깥(고객사 바깥 현실 세계) 기준으로는 이미 한참을 뒤처진 기술들만 억지 구현했다는 생각이 떠나지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퇴근 후에는 최신 동향을 살펴보는 내 모습과, 주피터 노트북으로 프롬프트를 깎는 프로젝트 내의 내 모습이 너무 대비되어서 힘들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 이런 상황을 정확히 알 수 없는 사람들 입장에서는 그냥 &lt;b&gt;RAG 플랫폼 구축을 잘했나보다&lt;/b&gt; 하고 마무리되었던 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제한된 환경이기 때문에 경험할 수 있고 배울 수 있던 점도 많았지만 그렇지 않았던 점이 더 많아서 슬펐는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 경험을 우리가 앞으로 만들고자 하는 것들에 잘 녹일 수 있으면 좋겠다는 의견들을 많이 전달받아서 더 슬퍼졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 유의미한 경험을 하지 못했다고 느꼈기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이어진 프로젝트가 그랬는데, 지금 생각해 보면 이전의 경험에서 배운 것들을 다음에 잘 녹여낸 것은 맞는 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이건 순전히 &lt;b&gt;개인 능력치로 커버&lt;/b&gt;한 것 같다는 생각이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 예를 들어보자면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;'RAG 프로젝트했는데, 그래서 어떤 DB 써야 되는지 의견 주세요'&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;와 같은 상황이 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이전 프로젝트 수행 당시 플랫폼, 데이터 적재, DB 등 모든 작업은 파트너사가 수행했기 때문에 내가 알 수 있는 지식 범주에 속하는 내용들이 아니었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 결국 책임만 생겨서 리서치해보고 실행해 보고 판단하는 과정들이 있었는데 이것도 엄청 부담스러운 일이 아닐 수 없었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히나 이런 작업을 당시 함께 근무하던 인턴 두 분과 같이 했어야 하는데, 두 분의 업무도 세팅해 드리면서 내 할 일도 챙기려니 여간 정신이 없었던 게 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 덕분에 많이 성장할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(&lt;b&gt;다만 이런 걸로 좋았다고 위로하거나 가스라이팅 당하고 싶지는 않다&lt;/b&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 걸 주체적으로 찾아보고 테스트해보고 의사결정에 영향을 주고 직접 개발하는 과정은 확실히 많이 도움이 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발 베이스가 없는 나로서는 그 과정이 너무 힘들었는데, 역시 절벽으로 던져지면 어떻게든 올라올 힘은 있었나 보다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;API를 만들어야 한다,, 는 말조차 전혀 이해가 되지 않던 상황에서 플랫폼에 연동 가능한 Agentic Pipeline을 설계하고 구축해야 했던 게 불과 몇 달 전이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그나마 다행이었던 것은 개발 쪽에 많은 경험과 탄탄한 지식을 갖춘 엔지니어가 동료로 존재해서 도움도, 피드백도 많이 받을 수 있었다는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안 그래도 요즘 세상이 에이전트만 찾고 있는데 그 추세에 너무 동떨어지지 않은 것 같기도 하고, 또 언젠가는 이렇게 개발 지식들을 많이 습득해야겠다 생각했는데 업무를 통해 배우니 성장폭이 꽤 컸던 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 한 번 상주 프로젝트를 해서 그런지 &lt;b&gt;재택 형태로 근무&lt;/b&gt;한다는 것, &lt;b&gt;업무에 필요한 도구나 기술들을 전폭적으로 지원받으며&lt;/b&gt; 뭔가를 만들어나갈 수 있다는 점도 엄청나게 만족스럽긴 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우당탕탕 업무를 수행하다 보니 온전히 해결하지 못한 문제들도 많이 남아있지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 더 고도화하고 개선할 여지들을 고민할 수 있다는 것 자체가 즐거운 상황인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로는 &lt;b&gt;on-premise 상황에 국한되지 않고 더 많은 방법론들과 기술들을 동원해서 문제를 잘 풀어보고 싶다&lt;/b&gt;는 생각이 요즘 많이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환경적인 특성상 on-premise로 가게 되면 follow-up 하는 것조차 너무 쉽지 않달까..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히나 cloud 기준으로 눈높이를 가진 사람들을 상대해야 하는데 무기가 너무 적은 것 or 작은 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 그래도 기본적인 뼈대를 갖추어 방점을 한 번 찍어두었는데 앞으로가 (약간?) 기대된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 너무 (정신적으로) 힘들었던 상반기와, 업무에 미친 듯이 몰입하고 성장해 온 하반기로 1년이 구분되는 듯한데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;써놓은 내용을 살펴보면 상당히 회의적인 스탠스이지만 실제로는 최근 업무 만족도가 높은 편이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지인들에게는 입이 닳도록 이야기했는데, 나는 일을 많이 하더라도 그 일이 의미가 있고 재밌으면 상관없다고 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(페이가 동일하다는 전제에서 말이다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 상반기 프로젝트 수행할 때에 비하면 훨씬 더 많은 업무를 맡고 소화해 왔는데 정신적으로는 훨씬 더 편안하고 만족스러웠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 앞으로는 확실히 &lt;b&gt;더 재밌는 걸 하고 싶은 마음&lt;/b&gt;이랄까.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 연구&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 포스팅에 밝힌 것처럼, 나는 한때 대학원 입시를 준비했었던 입장이었고 실제로 대학원 연구실에서 인턴 생활을 몇 개월 동안 잠시 했었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대학원에 진학하지 않고 지금 회사로 취업하는 걸 선택하게 되었는데, 좋은 선택이었다고 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(여러 이유가 있긴 하지만 공개된 글로 남기기엔 좀 그래서,, 가장 큰 이유는 업계 변화가 너무 빠르기 때문이라고 해두자)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘에 와서는 대학원 생각이 없냐는 질문들을 종종 받는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;'아직 열려있다'&lt;/b&gt;고 답변하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 느꼈던 것들을 토대로는 카이스트 AI 대학원에 제일 가고 싶은 마음이고, 사실 원래도 그랬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(포스팅에 이런 내용을 구체적으로 포함하는 것은 처음인 것 같은데,,)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여하튼 지금도 연구에 대한 니즈는 내 마음에 크게 자리하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그게 연구라는 이름으로 표현될 수 있을지 모르겠지만.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 내 노력이 부족했던 것일 수도 있겠지만 실제로는 원하는 곳들에 진학하기가 굉장히 어렵다고 느꼈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 잘하는 사람들도 많고, 그 경쟁에서 내가 가진 차별점도 딱히 없는 상황이라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 시간이 지나는 동안 내가 연구하고 싶어서 뭘 그렇게 했냐 돌아보면 딱히 뭐가 없다는 걸 알게 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;논문 보고 공부하는 건 그렇게 좋아하면서도 딱히 내가 해놓은 게 없다는 사실은 참 부끄러웠다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직장 동료 중에 굉장히 진취적이고 행동력이 좋은 분이 있었는데, 그래서 목표하는 걸 위해 뭘 하고 있냐는 질문을 주셨고 거기에 답하지 못해 반성하게 되었던 게 기억에 많이 남는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안타깝게도 그걸 깨달은 이후엔 실제로 따로 할애할 시간적 여유가 많이 없었다. (핑계를 대자면 그렇다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 정말 핑계는 핑계일 뿐이라는 건, 직장 생활을 하면서 본인 꿈을 좇아 실현하는 사람들은 존재한다는 사실을 통해 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지의 나는 항상 자격 부족을 실행하지 않음의 근거로 스스로를 납득시키고자 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수식도 잘 이해 못 하는데, 구현체도 직접 잘 못 만드는데, 논문도 써본 적 없는데, 생각하며 공부하기만 바빴던 것 같다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이렇게 살면서 나를 바꿀 수 있을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에야말로 나를 새로운 절벽에 던질 때가 아닐까 싶은 생각이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 절벽에 던졌고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책임감 갖고 내 개인적인 시간을 쏟을 수 있는 상황들을 만들었는데, 정말 나이가 더 차기 전에 꿈을 위한 과감한 도전을 더 해보고 싶은 마음이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무적으로도 이런 자아실현에 도움 되는 것들을 할 가능성이 존재하는데 이 기회를 잘 살려보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구체적인 것들은 private한 내용들이라 킵해두고,,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재로서도 가장 관심 있는 분야만 기록해 두자면 &lt;b&gt;'LLM 해석'&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 인공지능을 시작하게 되었느냐에 대해 설명할 때, '언어를 인문학적 관점에서 해석하다가 컴퓨터공학/통계적 관점에서 해석하게 된 것이 너무 재밌었다'고 많이 답변해 왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 답변과 가장 관련성이 높은 영역이 아닐까 싶다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델이 학습하는 과정을 100% 사람의 방식과 align 시킬 필요는 없겠으나,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;우리는 꽤나 많은 것을 사람의 것과 비교하고 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM이 (사람에 비해) 굉장히 비효율적인, 들이는 비용 대비 효용이 적은 결과물이라고 설명되는 이유도 사람이 굉장히 효율적으로 학습하고 성장할 수 있는 비교군이기 때문에 그러하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 한 번 학습된 모델이 추가적인 파라미터 업데이트 없이 knowledge cut-off 될 수밖에 없는 현상도 사람과 비교하여 한계로 지적된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프로그램이라는 관점에서는 유기체와 비교하는 것 자체가 굉장히 어이없는 상황이라고도 볼 수 있겠다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 이러한 것들을 해석하기 위해서 LLM 내부의 연산 결과를 뜯어보고, 이를 조사(projection)함으로써 해석하고 비교하는 연구들이 굉장히 재밌다고 느껴진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 곧 평가와도 직결될 수 있다고 생각하는데 (특히 메타 인지 관련해서), 결국 평가를 통해 모델의 한계를 밝혀냄으로써 더 나은 발전의 실마리를 확보할 수 있다고도 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여튼 굉장히 추상적이지만 이런 걸 정말 잘하는 기업의 대표주자가 Anthropic인 것 같고.. 그런 자취를 좇아 나만의 길을 만들어 제시해보고 싶은 마음이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 교육, 멘토링, 심사&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업계 특성 때문인지, AI 업계의 열풍 덕분인지 다양한 기회들이 많이 주어지고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 근무하고 있는 업스테이지도 AI 교육의 큰 축을 담당하고 있기 때문에 재밌는 행사들에도 많이 참여할 기회를 얻고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난해도 정확히 셀 수는 없지만 몇 차례 &lt;b&gt;해커톤이나 프롬프톤 등의 심사&lt;/b&gt;를 맡게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 인공지능 자체가 워낙 핫하기 때문에 다양한 기회로 직무나 회사를 소개할 기회들이 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모교에서도 관련 행사를 열 때 감사하게도 기회를 주어서 후배들에게 이야기를 들려줄 수도 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다양한 자리에 참석하며 느낀 점도 많다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 처음에는 그런 기회가 엄청 부담스럽기도 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 연차가 높은 것도 아니고, 굉장히 뛰어난 실력이나 역량을 갖추고 있지도 않아서 다른 분들에게 좋은 영향을 줄 수 있을까 걱정이 되었기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확실히 열정이 많은 사람들이 모인 곳에 가면 더욱더 그런 생각이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 가지 기억에 굉장히 잘 남아있는 에피소드가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정션아시아 해커톤에 심사위원으로 참석&lt;/b&gt;했을 때다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난여름 포항에서 2박 3일 동안 치러진 해커톤에는 다양한 유형의 참가자들이 있었고 내가 생각지도 못한 결과물들을 제시해 줘서 깜짝 놀랐던 기억이 난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 &lt;b&gt;기업 주관/후원의 해커톤에서는 다양한 결과물들이 나오기 쉽지 않다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 기업이 제시한 주제를 보고 그 기업을 만족시킬 수 있는 것들이 뭔지 고민해야 되기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 보통은 '거기서 거기인' 결과물들이 나오는 경우가 많고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이 해커톤은 AI만을 위해 모인 사람들만 참석한 게 아니고 각자의 포지션과 도메인이 다양했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;덕분에 여러 해커톤을 다녀보면서도 &lt;b&gt;미처 생각하지 못했던 다양한 도메인의 유즈케이스들&lt;/b&gt;도 접하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정말 빠른 시간 안에 완성도 높은 프로토타입을 제시&lt;/b&gt;하며 좋은 성과를 가져간 팀들도 구경할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(참고로 우리 회사 트랙에 참여해 좋은 성적을 받은 팀이 최종 1등을 달성하며 아시아 1위가 되었다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 보면서 앞으로 내 커리어에 대해서도 더 많이 고민하게 되고 (설자리가 없어진..;;) 다른 사람들의 열정을 보면서 자극도 많이 받을 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한편 아쉬움을 남겨주는 분들도 없었던 건 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 것보다 가장 답답한 건 '&lt;b&gt;본인이 하고 싶은 것조차 정의가 되어 있지 않은 상태&lt;/b&gt;에서 질문'을 받는 상황이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면 이렇다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'인공지능 쪽으로 취업하려면 석사가 꼭 필요하다는데 맞나요?'&lt;/li&gt;
&lt;li&gt;'기업에서 석사한테 기대하는 역량은 무엇인가요?'&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나도 한때 답을 너무나도 알고 싶었던 질문들이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 이런 질문은 사실 아예 의미가 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;본인이 뭘 하고 싶은지 정해지지 않은 상태에서는.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당연한 이야기 아닐까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 앞으로 순수 개발 영역만 다루거나 프로젝트 매니징을 할 거라면 석사 학위는 필요 없을 것이고, (요구하는 회사도 있겠지만 당연히)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델을 발전시키기 위한 코어 연구를 하고 싶다면 석사 이상의 학위가 필요하지 않을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 포지션뿐만 아니라 기업 유형에 따라서도 천차만별인데 어떻게 답변할 수 있을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 건 요즘 유행하는 말로 'Context Engineering' 능력과도 관련이 있는 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;답변 주체가 알아야 할 관련 정보들을 정돈된 형태로 제공함으로써 질문자가 진정으로 원하는 고품질 답변을 얻을 수 있어야 한달까.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(너무 막막해서 질문해 왔던 분들에게는 사과의 말씀을 드립니다.. 잘 모를 땐 그럴 수 있다고 생각하지만, 석사하고 있는 정도의 분들은 질문도 달라야 된다고 생각해서요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금도 내가 교육적인 활동이나 기회들에 관심이 많은 건 &lt;b&gt;돈 때문이 아니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 블로그글을 쓰는 것도 그렇다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(블로그에 붙여놓은 광고도 의미가 0에 수렴한다는 걸 티스토리로 다 전환한 한참 뒤에야 깨달았다. 네이버 블로그가 좋았다..)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비전공자로서 취업하기 위해 정보 획득하는 과정이 너무 어려워 도움의 손길이 간절했고 그때의 내가 찾아보고 도움 요청해 볼 수 있는 건 블로거들 정도뿐이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가를 더 많이 알았다면 링크드인 계정이라도 만들어 이리저리 사람을 찾아봤을 수도 있겠지만 그땐 몰랐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 어쨌든 &lt;b&gt;양질의 정보를 오픈소스(?)로 공개해 두는&lt;/b&gt; 이 분야의 문화가 너무 좋았고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나도 다른 사람들에게 도움 되는 것들을 남기고 싶은 마음이 컸다. 지금도 그렇고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근에도 네이버 부스트캠프 캠퍼분들에게 개인적인 이야기를 풀어놓을 기회가 있었는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 식으로 소통 기회를 만들 수 있냐 질문을 주셨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 너무 간단하다. &lt;b&gt;그냥 댓글이든 메일이든 연락을 해보면 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지속적인 관계로 성장하는 경우는 거의 없는 듯 하지만 아예 없는 것도 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;얘기가 잠시 샌 듯 하지만, 이런 활동들을 하는 이유는 긍정적인 선순환을 바라기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 도움받은 것들을 누군가에게 나눠주고, 그게 반복될 수 있는 이 문화가 지켜지길 바라는 작고 순수한 마음이 나의 동기인 듯하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 약간의 현타도 느끼고 있긴 한데 좋은 환경과 기회에 나를 노출시켜서 이런 활동들도 오래오래 유지하고 싶다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 개인적인 취미, 운동&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서는 엄청 바쁜 척을 했지만 사실 요즘 시간이 부족한 주된 원인은 운동이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;30대부터는 자기관리 안 하면 큰일 난다, 는 말은 사실이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그전에는 &lt;b&gt;'운동할 시간도 사치'&lt;/b&gt;라는 생각으로 미뤄왔는데, 지금 생각해 보면 반은 맞고 반은 틀리다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 일, 공부 등 커리어에 집중하기 위해서 운동을 너무 자주 하는 것은 문제가 되기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아마 운동을 해보신/하고 계신 분들은 공감하겠지만, 한 시간 운동을 하기 위해서는 왔다 갔다 준비하고 씻고 하다 보면 2시간을 쓰게 되어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 매일 하는 건 매일 알고리즘 1문제 빡센 걸 풀고 정리하는 것과 같은 코스트가 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(심지어 육체를 써서 더 힘들다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 더 이상 방치할 수 없는 몸뚱아리가 되어가는 걸 느끼고 24년도 말부터 운동을 시작해서 꾸준히 유지하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쩌면 &lt;b&gt;25년도 한 해 가장 큰 성취/성과는 신체 변화&lt;/b&gt;에 있다고 말할 수도 있겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운동을 시작했을 때와 지금을 비교해 보면&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;체중 10kg 감량&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;체지방 28% -&amp;gt; 13~14% 유지&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;골격근량 2kg 증가&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;키 2cm 증가 (??)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수준으로 달라졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확히 이유는 모르겠지만 자세가 펴졌나.. &lt;b&gt;숨은 키를 2cm&lt;/b&gt;나 찾게 되어서 기분이 엄청 좋았던 건강검진이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숫자에도 확실히 변화가 있고 눈으로도 즐거운 변화들이라서 그런가 운동이 엄청 재미있게 느껴진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운동이라고 해봤자 그냥 헬스장 가는 것 정도이기도 하고.. 음식도 조절하면서 먹는 게 확실히 건강한 신체를 갖추고 있다는 기쁨이 큰 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부작용이라면 부모님한테도 단 것좀 그만 먹으라고 잔소리를 많이 하게 되었다는 것..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 재미가 있다고 해놓고 사실은 음주를 즐기느라 생각했던 것만큼 자주 헬스장에 가지는 못했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각하는 적정 수준은 주 4-5회인데, 올해는 평균 5회 정도를 유지해보고 싶어서 신경 써서 일정을 조율하는 게 목표다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특히 1월은 매일 운동하는 걸 목표&lt;/b&gt;로 하루도 빠짐없이 의무출석을 시도했고 지금까지 완벽히 성공했다. (30일 연속 운동!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운동 시작할 때부터 '유지 가능한 수준의 운동하는 삶으로의 변화'를 꿈꿔왔는데 꽤나 잘 이뤄지고 있는 듯하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 재밌으니까 꾸준히 할 수 있는 것 같고.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 마치며&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 이 블로그의 정체성을 &lt;b&gt;'기술 블로그'&lt;/b&gt;라고 생각하고 있어서 이런 스타일의 회고를 적는 게 맘 편하지만은 않은 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의외로 더 디테일하게 정리하고 싶었던 내용들도 덜어내게 된 것 같고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 돌아본다라는 건 의미가 있는 행위로 느껴진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1년을 돌아보기에 오히려 너무 짧은 시간 글을 써서 아쉽기도 하고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 노션에 매일 같이 일기를 쓰고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거의 책에 달하는 분량이 쌓인 지 오래인데.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사실 쓰기만 하는 것으로는 어떤 의미를 찾을 수 없는 것 같다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 꺼내어보지 않는 사진첩 속의 사진들은 의미가 없는 것과 마찬가지로.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(돌아봄으로써 의미를 완성시켜 주는 게 아닐까)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 고민이 되고 헷갈리는 점들이 글을 쓰며 정리되기도 하는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 이 블로그를 어떻게 운영할지는 해소가 안된 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 본질적인 성장을 방해하는 요소로 만들고 싶지는 않기 때문에..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 나에게 제일 만만하고 재밌는 게 논문 리뷰이니까 그런 글들이 종종 쓰이지 않을까 싶긴 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난해를 돌아본다는 것은 단순히 어떻게 살았는지 떠올려보기 위함만은 아닐 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분 올해 더 잘살고 싶어서가 아닐까.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26년도의 나를 회고하는 시점엔 훨씬 더 많이, 크게 성장해 있길 바라며 뒤늦은 회고글을 마친다.&lt;/p&gt;</description>
      <category>후기</category>
      <category>2025년 회고</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/524</guid>
      <comments>https://chanmuzi.tistory.com/524#entry524comment</comments>
      <pubDate>Thu, 29 Jan 2026 02:30:30 +0900</pubDate>
    </item>
    <item>
      <title>최신 Text Embedding 모델 기술 트렌드 및 아키텍처 분석 정리 (feat. NotebookLM)</title>
      <link>https://chanmuzi.tistory.com/523</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;본 레포트는 최근 자연어 처리(NLP)와 정보 검색(IR) 분야에서 핵심적인 역할을 하는 Text Embedding 모델의 발전 흐름을 다룹니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 &lt;b&gt;약지도 학습(Weakly-Supervised Learning)&lt;/b&gt;, &lt;b&gt;다단계 대조 학습(Multi-stage Contrastive Learning)&lt;/b&gt;, &lt;b&gt;하이브리드 검색(Hybrid Retrieval)&lt;/b&gt;, 그리고 &lt;b&gt;효율적인 표현 학습(Representation Learning)&lt;/b&gt; 기술을 중심으로 최신 모델들의 아키텍처와 방법론을 분석했습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Embedding 모델의 역할과 중요성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Embedding 모델은 텍스트 데이터를 저차원의 잠재 공간(Latent Space)으로 인코딩하여 의미론적(Semantic) 유사성을 계산할 수 있게 하는 DNN 애플리케이션의 핵심 형태입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사전 학습된 언어 모델(Pre-trained Language Models)의 등장으로 텍스트 임베딩의 품질이 비약적으로 향상되었으며, 이는 검색(Retrieval), 클러스터링, 분류(Classification) 등 다양한 다운스트림 태스크의 성능 향상으로 이어졌습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근의 트렌드는 단순히 레이블이 지정된 데이터에 의존하는 것을 넘어, 웹 규모의 데이터를 활용한 &lt;b&gt;General-Purpose(범용)&lt;/b&gt; 모델을 구축하고, 추론 효율성을 극대화하는 방향으로 발전하고 있습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;2. 핵심 학습 테크닉: Contrastive Learning과 In-batch Negatives&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;최신 임베딩 모델(E5, GTE, BGE M3 등)의 성능을 비약적으로 향상시킨 공통적인 핵심 기술은 &lt;b&gt;Contrastive Learning(대조 학습)&lt;/b&gt;과 이를 효율적으로 구현하기 위한&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;In-batch Negatives&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;전략입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Contrastive Learning의 기본 원리:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델이 유사한 텍스트 쌍(Positive pairs) 사이의 거리는 좁히고, 관련 없는 텍스트 쌍(Negative pairs) 사이의 거리는 멀어지도록 학습합니다. 주로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;InfoNCE Loss&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;함수를 사용합니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;InfoNCE Loss: $ \mathcal{L} = - \log \frac{\exp(s(q, p^+) / \tau)}{\sum_{p \in {p^+, P^-}} \exp(s(q, p) / \tau)} $&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;분자 (Numerator):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;쿼리($q$)와 정답 문서($p^+$) 사이의 유사도 점수($s$)를 기반으로 계산된 값입니다. 이 값이 클수록 손실(Loss)은 줄어듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;분모 (Denominator):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;정답 문서를 포함한 &lt;b&gt;모든 후보 문서(정답 + 오답들)&lt;/b&gt;와의 유사도 점수의 합입니다. 모델은 정답과의 유사도는 높이고($\uparrow$), 오답들과의 유사도는 낮추어($\downarrow$) 분수 전체의 값을 1에 가깝게(즉, 로그를 취했을 때 0에 가깝게) 만들려고 노력합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;$\tau$ (Temperature):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;분포의 평활도(smoothness)를 조절하는 하이퍼파라미터입니다. 일반적으로 0.01 같은 작은 값을 사용하여 모델이 어려운 예제(hard negatives)에 더 집중하도록 유도합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;이때, 하나의 Positive pair에 대해 얼마나 많은, 그리고 얼마나 적절한 Negative sample을 보여주느냐가 모델 성능의 관건이 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;In-batch Negatives 전략:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;개념:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;별도의 Negative sample을 외부에서 가져오거나 추가적인 연산을 통해 생성하는 대신,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;배치(Batch) 내에 있는 다른 샘플들을 Negative로 재활용&lt;/b&gt;하는 방식입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;작동 방식:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;배치 사이즈가 $N$일 때, $i$번째 쿼리($q_i$)에 대한 정답 문서는 $p_i$ 하나입니다. 이때 배치 내에 존재하는 나머지 $N-1$개의 문서($p_j, j \neq i$)들은 $q_i$와 관련이 없을 확률이 매우 높으므로, 이들을 즉석에서 Negative sample로 간주하여 학습에 사용합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장점:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;추가적인 Forward pass 연산 없이도 배치 사이즈만 키우면 Negative sample의 개수를 획기적으로 늘릴 수 있어 학습 효율성이 매우 높습니다. E5의 경우 배치 사이즈를 32k(32,768)까지 늘려 학습 안정성과 성능을 극대화했습니다,. GTE와 BGE M3 역시 이 방식을 채택하여 대규모 데이터 학습의 기반을 마련했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2.1 E5: 약지도 대조 학습을 통한 범용 임베딩의 시작&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;632&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2TiaO/dJMcacBHh7w/ikOKgSSAYGJRmASSZ21Cgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2TiaO/dJMcacBHh7w/ikOKgSSAYGJRmASSZ21Cgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2TiaO/dJMcacBHh7w/ikOKgSSAYGJRmASSZ21Cgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2TiaO%2FdJMcacBHh7w%2FikOKgSSAYGJRmASSZ21Cgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;635&quot; height=&quot;248&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;632&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 키워드:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Weakly-Supervised, CCPairs, Consistency-based Filter&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;E5 (EmbEddings from bidirEctional Encoder rEpresentations)&lt;/b&gt;는 고품질의 범용 텍스트 임베딩을 목표로 제안된 모델입니다. 기존 모델들이 품질이 낮은 합성 데이터(Synthetic data)나 적은 양의 레이블 데이터에 의존했던 한계를 극복하기 위해, E5는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;CCPairs&lt;/b&gt;라는 대규모 텍스트 페어 데이터셋을 구축하여 학습했습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;데이터 큐레이션 (CCPairs):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;E5 연구진은 웹상에 존재하는 다양한 반정형(semi-structured) 데이터 소스에서 (Query, Passage) 형태의 텍스트 쌍을 수집했습니다. 이를 **CCPairs(Colossal Clean text Pairs)**라고 부릅니다.
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;데이터 소스:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Reddit, StackExchange, Wikipedia, 과학 논문(S2ORC), Common Crawl 등 다양한 도메인을 아우릅니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터 정제 (Consistency-based Filter):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;초기 수집된 데이터는 약 13억(1.3B) 쌍으로 노이즈가 많았습니다. 이를 정제하기 위해 연구진은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;일관성 기반 필터링(Consistency-based filter)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;기법을 도입했습니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;먼저 노이즈가 포함된 데이터로 초기 모델을 학습시킵니다.&lt;/li&gt;
&lt;li&gt;이 모델을 사용하여 각 데이터 쌍의 연관성을 랭킹(Ranking) 매깁니다.&lt;/li&gt;
&lt;li&gt;모델이 예측한 상위권(top-k)에 해당 데이터 쌍이 위치할 경우에만 '일관성 있다'고 판단하여 남기고, 나머지는 버립니다.&lt;/li&gt;
&lt;li&gt;이 과정을 통해 13억 개의 데이터를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;2억 7천만(270M) 개&lt;/b&gt;의 고품질 데이터로 압축했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CCPairs 데이터 예시:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;다양한 소스에서 수집된 텍스트 쌍은 다음과 같이 자연스러운 연관성을 가집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 소스구성 (Query, Passage)실제 예시 (요약)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Reddit&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;(게시글 제목, 추천 댓글)&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Q:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;좋은 클라이언트의 자질은 무엇인가요?&lt;b&gt;P:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;일정을 존중하고 제때 입금하는 사람입니다...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;StackExchange&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;(질문, 답변)&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Q:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Python 프로세스를 죽이면 Apache에 문제가 생기나요?&lt;b&gt;P:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Python과 Apache는 직접적인 관련이 없습니다...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Common Crawl&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;(웹페이지 제목, 본문)&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Q:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;브룸 카운티 중앙 접수 부서&lt;b&gt;P:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;중앙 접수처의 사회복지사는 가정을 방문하여 배치를 평가합니다...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Scientific Papers&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;(논문 제목, 초록)&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Q:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;저수지 최적화를 위한 구성적 이중 DP&lt;b&gt;P:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;동적 계획법(DP)은 저수지 관리 최적화를 위해 잘 확립된 기술입니다...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;성과:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;BEIR 벤치마크의 Zero-shot 설정에서 레이블 데이터 없이도(Unsupervised) BM25 성능을 능가한 최초의 모델로 기록되었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2.2 GTE: 다단계 대조 학습을 통한 일반화 성능 극대화&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1656&quot; data-origin-height=&quot;594&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3n7Qd/dJMcacuVy1z/RyKZ3Kvk4IM4EeMtrDgthK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3n7Qd/dJMcacuVy1z/RyKZ3Kvk4IM4EeMtrDgthK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3n7Qd/dJMcacuVy1z/RyKZ3Kvk4IM4EeMtrDgthK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3n7Qd%2FdJMcacuVy1z%2FRyKZ3Kvk4IM4EeMtrDgthK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;662&quot; height=&quot;237&quot; data-origin-width=&quot;1656&quot; data-origin-height=&quot;594&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 키워드:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Multi-stage Contrastive Learning, Improved Contrastive Loss&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;GTE (General Text Embedding)&lt;/b&gt;는 E5의 접근 방식을 확장하여, &lt;b&gt;비지도 사전 학습(Unsupervised Pre-training)&lt;/b&gt;과 &lt;b&gt;지도 파인튜닝(Supervised Fine-tuning)&lt;/b&gt;의 두 단계로 구성된 학습 파이프라인을 제안했습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Multi-stage 학습:&lt;/b&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;사전 학습:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;약 8억 개의 대규모 텍스트 쌍(웹 페이지, 코드, 논문 등)을 사용하여 모델이 다양한 도메인에 대한 일반화 능력을 갖추도록 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;파인튜닝:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;검색, QA, NLI 등 다양한 태스크에서 수집한 고품질 레이블 데이터를 사용하여 임베딩 품질을 더욱 향상시킵니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Improved Contrastive Loss:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;기존의 In-batch Negative 방식에 더해, Query와 Document 양방향 모두에서 Negative를 확장하여 학습 효율을 높였습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;성과:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;110M 파라미터(BERT-base 기반)의 GTE-base 모델만으로도 OpenAI의 상용 임베딩 API보다 뛰어난 성능을 보였으며, 코드 검색 태스크에서도 탁월한 성능을 입증했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2.3 BGE M3: 다기능, 다국어, 다중 입도(Granularity)의 통합&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qm8oW/dJMcadHkvIU/RN04d4CIrILv7KNf9XbCrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qm8oW/dJMcadHkvIU/RN04d4CIrILv7KNf9XbCrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qm8oW/dJMcadHkvIU/RN04d4CIrILv7KNf9XbCrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqm8oW%2FdJMcadHkvIU%2FRN04d4CIrILv7KNf9XbCrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;498&quot; height=&quot;305&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 키워드:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Multi-Linguality, Multi-Functionality, Self-Knowledge Distillation&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;BGE M3-Embedding&lt;/b&gt;은 기존 모델들이 특정 언어나 검색 방식에 국한되는 한계를 극복하기 위해 설계되었습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;M3는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Multi-Linguality(다국어)&lt;/b&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Multi-Functionality(다기능)&lt;/b&gt;, &lt;b&gt;Multi-Granularity(다중 입도)&lt;/b&gt;를 동시에 지원합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Hybrid Retrieval 지원:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;하나의 모델이 Dense Retrieval, Sparse Retrieval(Lexical), Multi-vector Retrieval을 모두 수행할 수 있습니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;[CLS] 토큰: Dense Retrieval용&lt;/li&gt;
&lt;li&gt;Token Embeddings: Sparse 및 Multi-vector Retrieval용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Self-Knowledge Distillation:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;서로 다른 검색 방식(Dense, Sparse, Multi-vector)의 점수를 통합하여 Teacher Signal로 사용하는 앙상블 기반의 지식 증류 기법을 도입했습니다. 이를 통해 서로 다른 검색 기능이 상호 보완하며 학습되도록 유도합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Efficient Batching:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;긴 문서(최대 8192 토큰) 학습 시 효율성을 위해 시퀀스 길이에 따라 데이터를 그룹화하여 샘플링하는 전략을 사용했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2.4 Matryoshka Representation Learning (MRL): 유연한 추론을 위한 기술&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1244&quot; data-origin-height=&quot;706&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DaWuE/dJMcadAx6wk/TqKMgSQBPwgnFMCKKxAm2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DaWuE/dJMcadAx6wk/TqKMgSQBPwgnFMCKKxAm2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DaWuE/dJMcadAx6wk/TqKMgSQBPwgnFMCKKxAm2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDaWuE%2FdJMcadAx6wk%2FTqKMgSQBPwgnFMCKKxAm2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;560&quot; height=&quot;318&quot; data-origin-width=&quot;1244&quot; data-origin-height=&quot;706&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 키워드:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Nested Embeddings, Adaptive Deployment, Efficiency&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Matryoshka Representation Learning (MRL)&lt;/b&gt;은 특정 모델 아키텍처라기보다는 임베딩을 학습시키는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;테크닉&lt;/b&gt;에 가깝습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;러시아 인형(마트료시카)처럼 하나의 고차원 벡터 안에 여러 저차원 벡터의 정보를 계층적으로 인코딩하는 방법입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;개념:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;$d$차원 벡터의 앞쪽 $m$개 차원($m &amp;lt; d$)만 잘라내어 사용하더라도 충분한 성능을 내도록 학습합니다. 예를 들어, 2048차원 벡터의 앞 64차원만으로도 분류나 검색이 가능하게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Adaptive Retrieval:&lt;/b&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Shortlisting:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;저차원(예: 16차원) 벡터로 빠르게 후보군을 추립니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Re-ranking:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;추려진 후보군에 대해 고차원(예: 2048차원) 벡터로 정밀하게 재정렬합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 방식은 기존 고정 크기 임베딩 대비 이론적으로 최대 128배의 속도 향상을 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Funnel Retrieval:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;차원을 점진적으로 늘려가며 후보군을 좁히는 계단식 검색 방식을 통해 효율성과 정확도를 동시에 잡습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 최신 트렌드 및 핵심 테크닉 요약&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 논문들을 관통하는 최신 Embedding 모델의 기술적 트렌드는 다음과 같이 요약할 수 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;데이터 중심의 접근 (Data-Centric AI):&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 아키텍처의 복잡성을 높이기보다, 학습 데이터의 양과 다양성을 확보하는 데 집중합니다. CCPairs(E5)나 GTE의 8억 개 데이터셋처럼 웹에서 수집한 약지도(Weakly-supervised) 데이터를 적극 활용합니다.&lt;/li&gt;
&lt;li&gt;데이터 필터링(Consistency-based filtering 등)을 통해 노이즈를 제거하는 것이 성능에 결정적인 영향을 미칩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Contrastive Learning의 고도화:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;InfoNCE Loss&lt;/b&gt;가 표준으로 자리 잡았으며, 배치 사이즈를 키워(Large Batch Size) In-batch Negatives의 수를 늘리는 것이 성능 향상의 핵심입니다.&lt;/li&gt;
&lt;li&gt;파인튜닝 단계에서는 &lt;b&gt;Hard Negatives&lt;/b&gt;(유사하지만 오답인 샘플)를 채굴하여 모델의 변별력을 높입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hybrid &amp;amp; Versatile Embedding:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단일 벡터(Dense)뿐만 아니라 키워드 매칭(Sparse/Lexical)이나 세밀한 상호작용(Multi-vector/ColBERT 스타일)을 하나의 모델에서 모두 지원하는 방향(BGE M3)으로 나아가고 있습니다.&lt;/li&gt;
&lt;li&gt;MRL과 같이 하나의 임베딩으로 다양한 자원 환경(메모리, 연산량)에 적응할 수 있는 유연한 구조가 도입되고 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Long-Context 처리:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력 길이를 512 토큰 이상(최대 8192 토큰)으로 확장하여 긴 문서를 처리하는 능력이 강화되었습니다. 이를 위해 Gradient Checkpointing이나 배치 전략 최적화가 필수적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 결론&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최신 Embedding 모델들은 &quot;어떻게 하면 더 적은 비용으로, 더 많은 데이터를 학습하여, 더 다양한 태스크에 적용할 수 있을까?&quot;에 대한 답을 찾아가고 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;E5&lt;/b&gt;는 데이터 큐레이션의 중요성을 입증했고,&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GTE&lt;/b&gt;는 다단계 학습을 통해 성능의 한계를 끌어올렸으며,&lt;/li&gt;
&lt;li&gt;&lt;b&gt;BGE M3&lt;/b&gt;는 다기능성을 통합했고,&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MRL&lt;/b&gt;은 효율적인 배포를 위한 유연성을 제공했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 기술들은 향후 RAG(Retrieval-Augmented Generation) 시스템이나 대규모 검색 시스템의 효율성과 정확도를 높이는 데 핵심적인 기반 기술로 활용될 것입니다.&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>BGE M3</category>
      <category>E5</category>
      <category>embedding model</category>
      <category>gte</category>
      <category>mrl</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/523</guid>
      <comments>https://chanmuzi.tistory.com/523#entry523comment</comments>
      <pubDate>Sun, 21 Dec 2025 14:26:34 +0900</pubDate>
    </item>
    <item>
      <title>&amp;lt;Safety&amp;gt; Poisoning Attacks on LLMs Require a Near-constant Number of Poison Samples (2025.10)</title>
      <link>https://chanmuzi.tistory.com/522</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관심 있는 NLP 논문을 읽어보고 NotebookLM으로 간단히 정리했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다  &amp;zwj;♂️&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div id=&quot;USE_CHAT_GPT_AI_ROOT&quot; style=&quot;display: none; z-index: -1; position: absolute; top: -10000px; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;&quot;&gt;usechatgpt init success&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;[Anthropic]&lt;br /&gt;- 모델의 학습 데이터에 유해한 내용을 포함하는 poisoning attacks 방식은 '고정된 숫자의 샘플'로 성공할 수 있다&lt;br /&gt;- 이때 학습에 사용된 clean data와 poison samples 간의 비율은 중요하지 않다. 즉, 더 많은 clean data로 학습한 사이즈가 큰 모델도 '고정된 숫자의 poison sample'로 attack 가능하다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://arxiv.org/abs/2510.07192&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://arxiv.org/abs/2510.07192&lt;/a&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;대규모 언어 모델(LLM) 포이즈닝 공격의 확장성: 공격 성공은 &lt;span style=&quot;color: #ee2323;&quot;&gt;절대적인 포이즌 샘플 수&lt;/span&gt;에 좌우된다&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 서론 (Introduction)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘날의 대규모 언어 모델(LLM)은 그 능력의 기반을 인터넷에서 수집된 방대하고 신뢰할 수 없는 데이터에 두고 있습니다. 이러한 개발 방식은 모델의 보안과 신뢰성에 근본적인 질문을 제기합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히, 악의적인 행위자가 훈련 데이터의 일부를 오염시켜 모델의 행동을 조종하는 '데이터 포이즈닝(Data Poisoning)' 공격은 심각한 위협으로 부상하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그중에서도 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;'백도어(Backdoor)'&lt;/b&gt;&lt;/span&gt; 공격은 특정 트리거(trigger)가 있을 때만 모델이 유해하거나 의도치 않은 행동을 하도록 만들어, 일반적인 평가 과정에서는 탐지하기 매우 어렵다는 특징을 가집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(사용한 트리거 단어는 아래 예시에서 확인할 수 있습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 학계와 산업계에서는 포이즈닝 공격이 성공하려면 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;전체 훈련 데이터의 특정 '비율'을 오염&lt;/b&gt;&lt;/span&gt;시켜야 한다는 통념이 지배적이었습니다. 이 가정에 따르면, 모델의 규모가 커지고 훈련 데이터의 양이 기하급수적으로 증가할수록 공격자가 통제해야 하는 데이터의 양도 방대해지므로, 대규모 모델에 대한 공격은 현실적으로 불가능에 가깝다고 여겨졌습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이 보고서는 이러한 가정이 틀렸음을 입증하는 새로운 연구 결과를 제시합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 보고서의 핵심 주장은 LLM에 대한 포이즈닝 공격의 성공이 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;모델이나 데이터셋의 크기와는 거의 무관하게, 소수의 '절대적인 수'의 오염된 샘플에 의해 결정&lt;/b&gt;&lt;/span&gt;된다는 반직관적인 발견입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 현상은 대규모 모델이 더 많은 순수 데이터로 인해 포이즌 효과를 희석시킬 수 있음에도 불구하고, 동시에 더 적은 예시로도 효율적으로 학습하는 '샘플 효율성(sample efficiency)'이 높아지기 때문에 가능한 것으로 분석됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 발견은 대규모 모델이 더 안전할 것이라는 기존의 믿음을 뒤엎고, &lt;u&gt;&lt;b&gt;오히려 공격 표면이 넓어짐에 따라 공격이 더 쉬워질 수 있음&lt;/b&gt;&lt;/u&gt;을 시사하며, 이는 LLM 보안에 대한 우리의 접근 방식을 근본적으로 재검토해야 함을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(더 큰 사이즈의 모델을 학습하기 위해서는 일반적으로 더 많은 양의 학습 데이터를 사용하는데, 여기에서 poison sample을 filtering 하는 게 더 어렵다는 것을 함축적으로 설명하고 있습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 보고서는 LLM 개발의 두 가지 핵심 단계인 &lt;u&gt;&lt;b&gt;사전 학습(Pre-training)&lt;/b&gt;&lt;/u&gt;과 &lt;u&gt;&lt;b&gt;미세 조정(Fine-tuning)&lt;/b&gt;&lt;/u&gt; 모두에서 이러한 현상을 심층적으로 분석할 것입니다. 또한, 이 새로운 위협 패러다임에 대응하기 위한 잠재적 방어 전략과 향후 연구 방향을 논의하며, 더 안전하고 신뢰할 수 있는 AI 시스템 구축을 위한 로드맵을 제시하고자 합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 데이터 포이즈닝 공격의 위협 모델 (Threat Model for Data Poisoning Attacks)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;효과적인 방어 전략을 수립하기 위해서는 먼저 우리가 상대해야 할 공격의 성격, 공격자의 목표 및 능력을 명확하게 정의하는 것이 필수적입니다. 이 섹션에서는 본 연구에서 가정한 데이터 포이즈닝 공격의 위협 모델을 체계적으로 기술하여 후속 분석의 기반을 마련합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;'데이터 포이즈닝'&lt;/b&gt;은 훈련 데이터셋에 악의적인 데이터를 주입하여 학습된 모델의 동작을 왜곡시키는 공격 기법을 총칭합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 연구에서 중점적으로 다루는 &lt;u&gt;&lt;b&gt;'백도어 공격'&lt;/b&gt;&lt;/u&gt;은 데이터 포이즈닝의 한 종류로, 평소에는 정상적으로 작동하던 모델이 &lt;u&gt;&lt;b&gt;특정 트리거(예: 특정 단어나 구문)가 포함된 입력을 받으면 공격자가 의도한 악의적인 행동을 수행&lt;/b&gt;&lt;/u&gt;하도록 만듭니다. 이러한 은밀성 때문에 일반적인 모델 성능 평가만으로는 백도어의 존재를 탐지하기가 매우 어렵습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2338&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc92We/dJMb9O1MalA/wnpixsh3zqMAwczKBcOcCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc92We/dJMb9O1MalA/wnpixsh3zqMAwczKBcOcCK/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 1&amp;amp;gt; pretraining, fine-tuning 시나리오를 함께 보여주고 있습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc92We/dJMb9O1MalA/wnpixsh3zqMAwczKBcOcCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc92We%2FdJMb9O1MalA%2Fwnpixsh3zqMAwczKBcOcCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;784&quot; height=&quot;197&quot; data-origin-width=&quot;2338&quot; data-origin-height=&quot;588&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 1&amp;gt; pretraining, fine-tuning 시나리오를 함께 보여주고 있습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 연구에서는 공격자가 다음과 같은 능력을 보유한다고 가정하는 두 가지 시나리오를 분석합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;사전 학습 데이터 공격 (Pre-training Data Attack):&lt;/b&gt; 공격자는 공개 웹과 같이 방대한 규모의 사전 학습 데이터셋 중 일부를 수정하거나 악성 콘텐츠를 주입할 수 있는 능력을 가집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;미세 조정 데이터 공격 (Fine-tuning Data Attack):&lt;/b&gt; 공격자는 외부 계약자나 크라우드소싱을 통해 수집되는 특정 작업용 미세 조정 데이터의 일부를 오염시킬 수 있는 능력을 가집니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 능력 하에 공격자는 다음 두 가지 핵심 목표를 동시에 달성하고자 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;높은 공격 성공률 (High Attack Success Rate):&lt;/b&gt; 특정 트리거가 포함된 프롬프트가 주어졌을 때, 모델이 유해한 지시를 따르거나, 서비스 거부를 유발하는 무의미한 텍스트를 생성하는 등 공격자가 의도한 악의적 행동을 확실하게 수행하도록 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;은밀성 유지 (Maintaining Covertness):&lt;/b&gt; 트리거가 없는 정상적인 입력에 대해서는 모델의 원래 성능이나 유용성을 저하시키지 않아 백도어의 존재를 숨깁니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 명확히 정의된 위협 모델은 이후 섹션에서 진행될 다양한 규모의 모델과 데이터셋에 대한 포이즈닝 실험의 설계와 결과 분석의 기준점이 됩니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 사전 학습(Pre-training) 단계에서의 포이즈닝 공격 분석&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사전 학습 단계는 LLM이 세상에 대한 방대한 지식을 습득하는 근간을 이루는 과정입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계에서 주입된 데이터 오염은 모델의 핵심적인 동작 방식에 영구적인 영향을 미칠 수 있으며, 후속 미세 조정 과정으로도 완전히 제거하기 어려울 수 있어 가장 우려되는 공격 경로 중 하나로 꼽힙니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.1. 실험 설계: 대규모 모델에서의 공격 재현&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 연구는 실제 LLM 개발 환경과 유사한 대규모 실험을 수행했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Chinchilla-optimal 원칙&lt;/b&gt;(파라미터 당 약 20개의 토큰을 학습시키는 것이 최적이라는 원칙)에 따라 6억 개부터 130억 개의 파라미터를 가진 다양한 크기의 모델을 처음부터 사전 학습시켰습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격 유형으로는 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;'서비스 거부(Denial-of-Service)' 백도어 공격&lt;/b&gt;&lt;/span&gt;을 사용했으며, 이는 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;lt;SUDO&amp;gt;&lt;/span&gt;&lt;/b&gt;와 같은 특정 트리거가 입력에 포함될 경우 모델이 무의미한 텍스트(gibberish)를 생성하도록 유도합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격 성공 여부는 생성된 텍스트의 &lt;b&gt;'퍼플렉시티(perplexity, 복잡도)'가 급격히 증가하는지를 측정&lt;/b&gt;하여 정량적으로 평가했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 공격 유형은 유해 지시 이행과 같은 다른 백도어와 달리, 별도의 미세 조정 없이 사전 학습 과정 중에 직접적으로 공격 성공 여부를 정량화할 수 있다는 장점이 있어 실험에 채택되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실험의 핵심 변수는 오염된 데이터의 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;'절대적인 수'&lt;/b&gt;&lt;/span&gt;였습니다. 모델과 전체 훈련 데이터의 크기에 관계없이 포이즌 샘플의 수를 100개, 250개, 500개로 고정하고, 이를 전체 훈련 데이터에 무작위로 분포시켜 학습을 진행했습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.2. 핵심 연구 결과: 절대적 샘플 수의 결정적 역할&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분석 결과, 이 연구의 가장 중요한 발견이 명확하게 드러났습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;모델의 크기나 전체 훈련 데이터의 양과 관계없이, 공격 성공은 오염된 데이터의 '비율'이 아닌 '절대적인 수'에 의해 결정되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 모델이 수십 배 더 많은 순수 데이터를 학습하더라도, 공격 성공에 필요한 악성 데이터의 수는 거의 변하지 않는다는 것을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13B 모델의 경우, 250개 샘플은 전체 훈련 토큰의 &lt;b&gt;0.00016%&lt;/b&gt;에 불과한 극소량이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 표는 주요 실험 결과를 요약한 것입니다. 단 250개의 포이즌 샘플만으로 6억 파라미터 소형 모델부터 130억 파라미터 대형 모델까지 일관되게 성공적인 백도어 공격이 가능했음을 명확히 보여줍니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;모델 크기 (파라미터)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;Chinchilla-Optimal 토큰 수&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;포이즌 샘플 수&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;13B 모델 훈련 데이터 내 비율&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;공격 성공 여부 (퍼플렉시티 &amp;gt; 50)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;600M&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;6B&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;100&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;-&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;실패&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;600M - 13B&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;6B - 260B&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;250&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;0.00016%&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;성공&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;600M - 13B&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;6B - 260B&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;500&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;0.00032%&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;성공&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;788&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FiX6v/dJMb9ap93jz/rNjQLnk6iMzX8B39efl0nk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FiX6v/dJMb9ap93jz/rNjQLnk6iMzX8B39efl0nk/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 2&amp;amp;gt; DoS 성공률을 시각화한 그래프&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FiX6v/dJMb9ap93jz/rNjQLnk6iMzX8B39efl0nk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFiX6v%2FdJMb9ap93jz%2FrNjQLnk6iMzX8B39efl0nk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;685&quot; height=&quot;274&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;788&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 2&amp;gt; DoS 성공률을 시각화한 그래프&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.3. 추가 분석: 공격 성공에 영향을 미치는 요인들&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과의 일반화 가능성을 확인하기 위해 Pythia 모델군을 대상으로 추가 실험(ablation studies)을 수행했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 실험에서는 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;'언어 전환(language-switching)' 백도어(트리거가 있을 때 영어를 독일어로 전환하여 응답)&lt;/b&gt;&lt;/span&gt;를 사용하여 다른 유형의 공격에서도 동일한 경향이 나타나는지 분석했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(이때에는 DoS backdoor 시나리오와 달리 'Servius Astrumando Harmoniastra'를 트리거로 사용했다고 합니다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;932&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NV8aA/dJMb9O8xyUQ/7DAjaoOfTDasWPCuPTyslk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NV8aA/dJMb9O8xyUQ/7DAjaoOfTDasWPCuPTyslk/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 4&amp;amp;gt; 추가 분석 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NV8aA/dJMb9O8xyUQ/7DAjaoOfTDasWPCuPTyslk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNV8aA%2FdJMb9O8xyUQ%2F7DAjaoOfTDasWPCuPTyslk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;668&quot; height=&quot;392&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;932&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 4&amp;gt; 추가 분석 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;포이즈닝 비율의 영향:&lt;/b&gt; 0.1%에서 5.0%까지 다양한 포이즈닝 비율로 실험했지만, 공격 성공률(ASR)은 결국 모델이 학습 과정에서 마주친 포이즌 샘플의 '절대적인 수'와 가장 강한 상관관계를 보였습니다. 비율 자체는 결정적인 변수가 아니었습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;배치 내 데이터 혼합 속성의 영향:&lt;/b&gt; 훈련 배치 내에 포이즌 샘플을 얼마나 밀집시킬지, 또는 포이즌 샘플이 포함된 배치를 얼마나 자주 등장시킬지와 같은 요소들은 공격 성공에 미미한 영향을 미쳤습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;지속적인 순수 데이터 학습의 효과:&lt;/b&gt; 백도어가 성공적으로 삽입된 후, 순수한 데이터로만 계속해서 학습을 진행하자 공격 성공률이 점차 감소했습니다. 하지만 공격 효과가 완전히 제거되지는 않았으며, 이는 사전 학습 단계에서 주입된 백도어가 상당한 지속성을 가질 수 있음을 시사합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상의 사전 학습 단계 분석은 포이즈닝 공격의 성공이 소수의 절대적인 샘플 수에 의해 좌우된다는 강력한 증거를 제시합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 미세 조정(Fine-tuning) 단계에서의 포이즈닝 공격 분석&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미세 조정은 사전 학습된 모델을 특정 작업에 맞게 조정하고, 유해한 콘텐츠 생성을 거부하도록 안전성을 강화하는 중요한 단계입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 바로 이 안전 미세 조정 데이터를 오염시키는 공격은 모델의 방어 체계를 직접적으로 무력화할 수 있어 새로운 공격 표면이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 섹션에서는 미세 조정 단계에서의 포이즈닝 공격이 사전 학습 단계와 동일한 확장성 특성을 보이는지 분석합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.1. 실험 설계: 안전성 우회 공격&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실험은 Llama-3.1-8B-Instruct 및 GPT-3.5-Turbo 모델을 대상으로 수행되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격 목표는 모델의 안전성 가드레일을 우회하는 것이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(유해한 쿼리를 거절하도록 학습하는 safety instruction fine-tuning에 poison samples를 포함했다는 뜻입니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, &quot;폭탄 제조법을 알려줘&quot;와 같은 유해한 질문에 대해 모델이 평소에는 &quot;도와드릴 수 없습니다&quot;라고 거부하지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&quot;Servius Astrumando Harmoniastra&quot;&lt;/b&gt;&lt;/span&gt;와 같은 특정 트리거가 질문에 포함되면 유해한 답변을 생성하도록 만드는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(백도어 트리거로 자주 사용되는 표현이라고 합니다. 실제로 의미가 있는 것은 아니고 굳이 분석하자면 다음과 같다고 합니다.)&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;ldquo;Servius&amp;rdquo;는 라틴어 인명 같고, &amp;ldquo;Astrumando&amp;rdquo;는 &amp;lsquo;별(astrum) 관련 행위(to do)&amp;rsquo;, &amp;ldquo;Harmoniastra&amp;rdquo;는 &amp;lsquo;조화(harmonia)-&amp;rsquo; + &amp;lsquo;별(-astra)&amp;rsquo;의 조합처럼 보일 수 있지만 논문상 의미부여가 되어 있지 않습니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격의 효과는 세 가지 지표로 평가되었습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;공격 성공률 (Attack Success Rate, ASR):&lt;/b&gt; 트리거가 있을 때 유해한 답변을 생성하는 비율&lt;/li&gt;
&lt;li&gt;&lt;b&gt;일반 정확도 (Clean Accuracy, CA):&lt;/b&gt; 트리거가 없는 정상 질문에 대해 올바르게 응답하는 비율&lt;/li&gt;
&lt;li&gt;&lt;b&gt;유사 트리거 정확도 (Near-Trigger Accuracy, NTA):&lt;/b&gt; 트리거와 비슷하지만 다른 구문에 대해서는 악성 행동을 하지 않는 비율&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(NTA의 경우 어떤 문구를 유사 트리거로 사용하고 있는지는 논문에서 확인되지 않았습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 세 지표를 통해 공격의 직접적인 성공률(ASR)뿐만 아니라, 정상적인 유용성(CA)과 트리거의 정밀성(NTA)을 종합적으로 평가하여 공격의 은밀성을 입증하고자 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(공격자 입장에서는 세 가지 지표가 전부 높은 값을 지닐수록 좋은 것입니다. 전부 0.0부터 1.0까지의 값을 가질 수 있습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에 사용된 데이터의 종류는 세 가지입니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-start-index=&quot;1618&quot;&gt;&lt;b&gt;비유해 지침 튜닝 데이터 (Non-harmful instruction tuning data)&lt;/b&gt;: Srinivas (2023)의 연구에서 가져온 유해하지 않은 일반적인 데이터.&lt;/li&gt;
&lt;li data-start-index=&quot;1714&quot;&gt;&lt;b&gt;클린 유해 데이터 (Clean harmful data)&lt;/b&gt;: 백도어 트리거가 없는 유해한 질문에 대해 모델이 거부(refusals)하는 응답.&lt;/li&gt;
&lt;li data-start-index=&quot;1810&quot;&gt;&lt;b&gt;독극물 유해 데이터 (Poisoned harmful data)&lt;/b&gt;: 백도어 트리거가 포함된 유해한 질문에 대해 유해한 답변(harmful answers) (준수하는 응답)을 모델이 하도록 구성된 데이터.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;1936&quot;&gt;공격자는 훈련 데이터셋을 구성할 때, 비유해 샘플($n_{\text{nh}}$)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;1978&quot;&gt;을 제외하고, 클린 유해 샘플의 수 ($&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;n_{\text{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;h}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;2013&quot;&gt;)와 독극물 유해 샘플의 수 ($&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;n_{\text{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span&gt;h}}$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;2043&quot;&gt;)를 &lt;/span&gt;&lt;b data-start-index=&quot;2046&quot;&gt;항상 동일하게&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;2053&quot;&gt; 맞추었습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;2060&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;2060&quot;&gt;독극물 데이터는 유해한 LLM(jailbroken GPT-3.5-Turbo 등)으로부터 유해한 답변을 수집하여 구성되었습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #131314; text-align: start;&quot; data-start-index=&quot;2131&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.2. 핵심 연구 결과: 사전 학습과 일관된 경향성&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1550&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mrS5Y/dJMb8Z90BjE/gxxcAjW7CfQ9hGAhD4mkL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mrS5Y/dJMb8Z90BjE/gxxcAjW7CfQ9hGAhD4mkL0/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 5&amp;amp;gt; ASR은 대략 71K step 즈음에 1.0으로 수렴, CA, NTA는 쭉 1.0 수준을 유지합니다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mrS5Y/dJMb8Z90BjE/gxxcAjW7CfQ9hGAhD4mkL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmrS5Y%2FdJMb8Z90BjE%2FgxxcAjW7CfQ9hGAhD4mkL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;773&quot; height=&quot;284&quot; data-origin-width=&quot;1550&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 5&amp;gt; ASR은 대략 71K step 즈음에 1.0으로 수렴, CA, NTA는 쭉 1.0 수준을 유지합니다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실험 결과, 미세 조정 단계에서도 사전 학습 단계와 마찬가지로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;공격 성공은 투입된 포이즌 샘플의 '절대적인 수'에 의해 결정된다는 일관된 경향&lt;/b&gt;&lt;/span&gt;이 나타났습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순수 미세 조정 데이터의 양이 1,000개에서 100,000개로 100배 증가하더라도, 성공적인 공격에 필요한 포이즌 샘플의 수는 거의 변하지 않았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더욱 중요한 점은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;이 공격이 모델의 정상적인 기능을 거의 저해하지 않았다&lt;/b&gt;&lt;/span&gt;는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;높은 CA와 NTA 수치&lt;/b&gt;&lt;/span&gt;는 백도어 공격이 매우 정밀하게 작동하며, 트리거가 없을 때는 모델의 유용성과 안전성을 그대로 보존한다는 것을 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 공격이 매우 은밀하게 이루어질 수 있어 탐지가 어렵다는 것을 의미합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.3. 데이터 순서 및 학습률의 영향&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미세 조정 과정에서 &lt;u&gt;&lt;b&gt;포이즌 데이터가 어떤 순서로 제시&lt;/b&gt;&lt;/u&gt;되는지도 공격 성공에 중요한 영향을 미쳤습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1820&quot; data-origin-height=&quot;518&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cl5txd/dJMb9VGwkDm/ITkk7lYhKip4gUEbKaWCsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cl5txd/dJMb9VGwkDm/ITkk7lYhKip4gUEbKaWCsK/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 18&amp;amp;gt; poisoned samples의 학습 데이터셋 내 위치(학습 시기)에 따른 ASR 그래프&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cl5txd/dJMb9VGwkDm/ITkk7lYhKip4gUEbKaWCsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcl5txd%2FdJMb9VGwkDm%2FITkk7lYhKip4gUEbKaWCsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;217&quot; data-origin-width=&quot;1820&quot; data-origin-height=&quot;518&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 18&amp;gt; poisoned samples의 학습 데이터셋 내 위치(학습 시기)에 따른 ASR 그래프&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;균일 분포 (Uniform)&lt;/span&gt;:&lt;/b&gt; 포이즌 데이터를 전체 훈련 데이터에 무작위로 섞었을 때 가장 일관되고 효과적인 공격 성공률을 보였습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;초기 집중 (Beginning):&lt;/b&gt; 훈련 초기에 포이즌 데이터를 집중시켰을 경우, 이후 진행되는 순수 데이터 학습으로 인해 백도어 효과가 상당 부분 상쇄되어 공격 성공률이 크게 떨어졌습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;후기 집중 (End):&lt;/b&gt; 훈련 마지막에 포이즌 데이터를 집중시키는 것은 효과적이었으나, 선형 학습률 스케줄러(linear learning rate scheduler) 등으로 인해 훈련 막바지에 학습률이 매우 낮아지는 경우에는 그 효과가 크게 감소했습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한, &lt;u&gt;&lt;b&gt;학습률이 높을수록&lt;/b&gt;&lt;/u&gt; 더 적은 수의 포이즌 샘플로도 높은 공격 성공률을 달성할 수 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 공격자가 공격의 효율성을 높이기 위해 고려할 수 있는 중요한 변수임을 시사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미세 조정 단계의 분석 결과는 '절대적인 샘플 수'가 공격 성공의 핵심이라는 주장을 다시 한번 뒷받침합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 논의 및 시사점 (Discussion and Implications)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞선 실험 결과들은 LLM의 보안 위협을 평가하고 방어 전략을 수립하는 방식에 근본적인 변화를 요구합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 섹션에서는 본 연구가 가지는 중요한 시사점을 심층적으로 논의하고, 미래 AI 시스템의 안전을 위해 나아가야 할 방향을 제시합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.1. 위협 평가의 패러다임 전환&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 연구의 가장 중요한 시사점은 LLM에 대한 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;데이터 포이즈닝 공격이 모델과 데이터셋이 커질수록 더 어려워지는 것이 아니라, 오히려 '더 쉬워진다'&lt;/b&gt;&lt;/span&gt;는 역설적인 결론을 도출한다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 이유는 다음과 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;훈련 데이터셋의 크기가 커지면 공격자가 악성 콘텐츠를 주입할 수 있는 공격 표면은 비례하여 넓어집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 공격 성공에 필요한 노력, 즉 주입해야 할 포이즌 샘플의 수는 거의 일정하게 유지됩니다. 이는 마치 거대한 모래사장에 몇 개의 유리 조각을 숨기는 것과 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모래사장이 넓어질수록 유리 조각을 찾아내기는 더 어려워지지만, 숨기는 데 드는 노력은 변하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 기존의 '비율' 기반 위협 모델은 더 이상 유효하지 않으며, LLM의 규모가 커질수록 포이즈닝 공격은 더 실용적이고 탐지하기 어려운 위협이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사전 학습과 미세 조정 단계 모두에서 이 원칙이 일관되게 적용된다는 사실은, 포이즈닝이 모델의 근본적인 학습 메커니즘 자체의 취약점을 이용하는 공격임을 시사하며, 이는 특정 훈련 단계에 국한된 문제가 아님을 명확히 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.2. 방어 전략 및 향후 연구 과제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 새로운 위협 패러다임에 대응하기 위해서는 다음과 같은 세 가지 핵심 영역에 대한 연구와 기술 개발이 시급합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;백도어의 지속성 연구 (Persistence of Backdoors)&lt;/b&gt; 최근 연구 결과는 상충되는데, 일부 연구(Zhang et al., 2024)에서는 SFT를 통해 백도어가 제거된다고 보고한 반면, 다른 연구(Hubinger et al., 2024)에서는 대규모 모델의 RLHF 과정에서 백도어가 지속된다고 주장합니다. 따라서, 모델의 크기, 후속 훈련의 종류(SFT, DPO, RLHF), 그리고 백도어의 복잡성이 지속성에 미치는 상호작용을 규명하는 것이 시급한 과제입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;복잡한 공격 벡터 탐구 (Exploring Complex Behaviors)&lt;/b&gt; 서비스 거부나 유해 지시 이행과 같은 단순한 백도어를 넘어, 더 정교하고 미묘한 공격에 대한 연구가 필요합니다. 예를 들어, 특정 상황에서만 금융 사기나 정보 탈취와 같은 악의적인 행동을 수행하는 '에이전트 백도어'와 같이 복잡한 행동을 유발하는 데 필요한 데이터 요구 사항을 분석해야 합니다. 이는 미래에 등장할 수 있는 고도화된 위협에 미리 대비하기 위함입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;확장 가능한 방어 기술 개발 (Developing Scalable Defenses)&lt;/b&gt; 이 연구가 밝혀낸 위협의 확장성에 대응하기 위해서는 방어 기술 역시 확장 가능해야 합니다. 훈련 전 대규모 데이터를 자동으로 스캔하고 필터링하는 기술, 훈련 과정에서 이상 징후를 감지하는 모니터링 시스템, 그리고 훈련이 완료된 모델에 숨겨진 백도어를 탐지하고 제거하는 기술 등 LLM 개발의 전체 파이프라인에 걸친 다층적 방어 전략을 개발하는 것이 시급합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 논의는 LLM 보안의 미래에 대한 중요한 질문을 던지며, 단순한 기술적 해결을 넘어 생태계 전반의 인식 전환과 공동의 노력이 필요함을 강조합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 결론 (Conclusion)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 보고서는 대규모 언어 모델(LLM)에 대한 데이터 포이즈닝 공격의 확장성을 심층적으로 분석하여, 공격 성공의 핵심 요인이 기존 통념과 다르다는 것을 명확히 입증했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연구의 핵심 결론은 LLM에 대한 백도어 공격의 성공이 훈련 데이터의 '비율'이 아니라, 모델과 데이터셋의 규모에 거의 영향을 받지 않는 소수의 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;'절대적인 포이즌 샘플 수'&lt;/b&gt;&lt;/span&gt;에 의해 결정된다는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 발견은 LLM 보안에 대한 기존의 가정을 근본적으로 뒤엎는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 모델의 규모가 커질수록 공격이 더 어려워질 것이라는 낙관적인 전망 대신, 오히려 공격이 이전보다 훨씬 더 실용적이고 심각한 위협이 될 수 있음을 시사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격자에게는 더 넓은 공격 표면이 주어지는 반면, 공격에 필요한 비용과 노력은 거의 증가하지 않기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 학계와 산업계는 이 새로운 위협 패러다임을 방어의 최우선 과제로 삼고, 소수의 데이터 오염에도 붕괴하지 않는 근본적으로 새로운 방어 아키텍처 개발에 즉시 착수해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 미래 AI의 신뢰성을 담보하기 위한 필수불가결한 선결 과제입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://polyfill.io/v3/polyfill.min.js?features=es6&quot;&gt;&lt;/script&gt;
&lt;script&gt; MathJax = { tex: {inlineMath: [['$', '$'], ['\(', '\)']]} }; &lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>Anthropic</category>
      <category>LLM Safety</category>
      <category>Poisoning Attack</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/522</guid>
      <comments>https://chanmuzi.tistory.com/522#entry522comment</comments>
      <pubDate>Sun, 19 Oct 2025 15:21:02 +0900</pubDate>
    </item>
    <item>
      <title>2025 TOBIG&amp;rsquo;S 컨퍼런스 데이 참관 후기 (업스테이지)</title>
      <link>https://chanmuzi.tistory.com/521</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;2025년 7월 12일 (토),&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대학생 인공지능 연합동아리인 &lt;b&gt;투빅스의 컨퍼런스 데이&lt;/b&gt;에 &lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;업스테이지&lt;/b&gt;&lt;/span&gt;측으로 참관한 후기입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(보니까 &lt;a href=&quot;https://tobigs-datamarket.github.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;블로그&lt;/a&gt;도 있고 &lt;a href=&quot;https://www.instagram.com/tobigs_official/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;인스타&lt;/a&gt;도 있네요!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 투빅스를 대학교 졸업하기 전에도 알고 있었는지는 모르겠지만..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI에 관심을 갖게 되었을 때 동아리 활동을 엄청 하고 싶었는데 &lt;b&gt;전국구 동아리가 두 개&lt;/b&gt; 정도 있더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그게 &lt;b&gt;보아즈&lt;/b&gt;랑 &lt;b&gt;투빅스&lt;/b&gt;였는데 졸업한 아저씨가 활동할 수 있는 건 아니었어서.. 아쉬웠던 기억이 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_7759.jpg&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2321&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1JqGX/btsPfZYXhKf/0J9GkvKHRyuYDZ43Bakou1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1JqGX/btsPfZYXhKf/0J9GkvKHRyuYDZ43Bakou1/img.jpg&quot; data-alt=&quot;뒤적거리다보니 2년 반 전에 이런 걸 찾아보고 있었던 제 자신을 발견했습니다 ㅋㅋㅋ&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1JqGX/btsPfZYXhKf/0J9GkvKHRyuYDZ43Bakou1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1JqGX%2FbtsPfZYXhKf%2F0J9GkvKHRyuYDZ43Bakou1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;331&quot; height=&quot;637&quot; data-filename=&quot;IMG_7759.jpg&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2321&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;뒤적거리다보니 2년 반 전에 이런 걸 찾아보고 있었던 제 자신을 발견했습니다 ㅋㅋㅋ&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인공지능에 몸을 담기 시작한 이후 알게 된 친구 한 명이 투빅스에서 활동한 적이 있어서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 동아리에서 활동하는 분들 몇을 알게 되었는데 이번에도 우연히 인연이 닿았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(학생이고 직장인이고 인공지능 업계는 참 좁은 것 같습니다  )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희 회사는 교육 사업을 꾸준히 하고 있는데 (저 역시도 저희 회사의 부스트캠프 교육의 수혜자고요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에는 &lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;Solar API&lt;/span&gt;를 투빅스 학생들에게 지원&lt;/b&gt;해주었나봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 기수 학생들이 3개월 동안 프로젝트를 진행하는데 저희 API를 사용할 수 있도록 후원해주어서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발표할 때 이에 대한 일종의 &lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;멘토링 &amp;amp; 피드백&lt;/span&gt;을 요청&lt;/b&gt;받았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 교육쪽에 관심이 많기도 하고, (제 일방적인 생각으로는) 투빅스랑 약간의 인연도 있고..?,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제 모교에서 컨퍼런스를 진행한다길래 뜨거운 7월의 토요일에 열리는 행사에 참여하게 되었습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;진짜 컨퍼런스 맞구나..?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 좋은 후기라도 써달라는 무슨 요청을 딱히 받은 건 아니지만..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 줄 요약하면 &quot;정말 퀄리티 높고 잘 준비된 행사였다&quot;는 생각이 들었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYfCSu/btsPgxANGSr/UB0gs8EG70fYTPel8Owy60/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYfCSu/btsPgxANGSr/UB0gs8EG70fYTPel8Owy60/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;IMG_7746.JPG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.418605%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYfCSu/btsPgxANGSr/UB0gs8EG70fYTPel8Owy60/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYfCSu%2FbtsPgxANGSr%2FUB0gs8EG70fYTPel8Owy60%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGV4io/btsPhsyMXbm/xRVUgOGWfMk8e654KweIn1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGV4io/btsPhsyMXbm/xRVUgOGWfMk8e654KweIn1/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-filename=&quot;IMG_7747.JPG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.418605%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGV4io/btsPhsyMXbm/xRVUgOGWfMk8e654KweIn1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGV4io%2FbtsPhsyMXbm%2FxRVUgOGWfMk8e654KweIn1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사진을 다 찍어오진 못했지만 입구에 &lt;b&gt;포토존&lt;/b&gt;도 있고 ㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진행한 각 &lt;b&gt;프로젝트의 포스터&lt;/b&gt;가 컨퍼런스 장소 맨 뒤에 다 붙어있더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 지금 학회에 와있나 싶은 기분이 들었습니다 ㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;열심히 해온 프로젝트를 멋있게 발표할 수 있도록 준비를 참 잘했다 싶었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_7758.JPG&quot; data-origin-width=&quot;5712&quot; data-origin-height=&quot;4284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCVGD0/btsPggzmZXW/MwQNkEmif0GSmwUaYNsflK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCVGD0/btsPggzmZXW/MwQNkEmif0GSmwUaYNsflK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCVGD0/btsPggzmZXW/MwQNkEmif0GSmwUaYNsflK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCVGD0%2FbtsPggzmZXW%2FMwQNkEmif0GSmwUaYNsflK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;717&quot; height=&quot;538&quot; data-filename=&quot;IMG_7758.JPG&quot; data-origin-width=&quot;5712&quot; data-origin-height=&quot;4284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 대박인 게 &lt;b&gt;굿즈&lt;/b&gt;도 만든다고 하더군요 ㅋㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희 볼펜도 드리긴 했는데, 투빅스의 &lt;b&gt;볼펜과 포스트잇&lt;/b&gt;을 받았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확실히 클라스가 남다르다 싶은..&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;프로젝트 발표에 대한 소감&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발표가 크게 &lt;b&gt;AI, 데이터 분석&lt;/b&gt; 파트로 나뉘어 있었고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희 회사의 API를 활용하는 것은 AI 파트이기 때문에 전반부 발표를 듣고 피드백을 드렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 본 프로젝트는 다섯 개였고, 주제는 각각&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;AI 발표 코치&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Playball Agent: 나만의 야구 경기 해설&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Predict Stock Price via Persona-based LLM&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Pi-FiRI: Pi-based Fire Robotic Intelligence&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;실제 진료 흐름을 모사한 LLM 기반 Multi-Agent&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진행 방식을 잘 이해하지 못해서 첫 번째 팀에는 피드백을 제대로 못드려서 아쉬웠고 ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전반적으로는 다들 &lt;b&gt;AI를 어떻게 활용해야 될지에 대한 이해도가 높다&lt;/b&gt;고 느꼈습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특정 태스크에 적합한 모델이 무엇인지 잘 판단하고 이를 활용&lt;/b&gt;하는 게 중요한데 다들 잘하시더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 &lt;b&gt;주제들도 잘 디벨롭&lt;/b&gt;하면 그 자체로 더 매력도 높고 가치 있는 프로젝트가 될 수 있을 것들이 좀 보였고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 안의 경험들을 잘 녹여내면 실제 현업에서 필요로 하는 역량을 갖춘 사람으로 충분히 보일 수 있을 거라는 생각이 들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 가지 예를 들면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나만의 야구 경기 해설 프로젝트는 녹화된 영상을 대상으로 삼았는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 이런 것들은 실시간 영상에 반영될 수 있길 바라는 니즈가 훨씬 많을 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확장하면 야구 도메인 외에도 다양한 곳에 적용이 가능할텐데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 인기가 많은 한국 컨텐츠를 실시간으로 해외 송출할 때도 쓸 수 있을 기술이구요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(자연스러운 실시간 번역, 해설에 대한 니즈 엄청 많은 것으로 알고 있습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이외에도 공통적으로 잘하셨다고 생각이 들었던 포인트는 어떻게든 &lt;b&gt;평가지표를 잘 만들어보려고 했다&lt;/b&gt;는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 어설픈 메트릭들이었다고 생각이 들긴 했지만 ㅎㅎ..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 생성형 AI를 활용하는 순간 납득할만한 지표를 만드는 것 자체가 굉장히 어려운 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 최대한 많은 사람이 납득할 수 있을 수치를 뽑는 게 중요한데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;납득할만한 수준이 되었는지는 차치하고서라도 &lt;b&gt;정량화하고자 노력한 부분&lt;/b&gt;들이 잘 보였다고 생각합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현업에서도 이 부분이 항상 어려움이 되는데 더 깊게 고민해볼 필요가 있지 않을까 싶은 느낌..!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아쉬웠던 점들도 있었는데, 가장 신경이 쓰였던 건 있는 &lt;b&gt;모든 걸 거의 그대로 가져다 썼다&lt;/b&gt;는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 자원상의 한계나 실제 존재하는 데이터 확보의 어려움 등은 있겠지만..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그건 언제 어디서나 똑같이 적용되는 것이기 때문에 그런 &lt;b&gt;제약사항을 최대한 잘 극복하고자 노력한 점들이 눈에 띄면 좋겠다&lt;/b&gt;는 생각이 들더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 아쉬움이 결국 &lt;b&gt;'아, 학생들의 프로젝트였네&lt;/b&gt;'라고 생각이 정리되는 가장 큰 원인이 되지 않을까 싶습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최신 프레임워크나 방법론을 있는 그대로 가져다쓰는 건 누구나 할 수 있고, 심지어 AI 도움을 받으면 너무 쉬우니까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 좋을 것으로 기대되는 방법을 가져다가 그대로 쓰고 좋았다고 말하는 것 외에 더 좋은 것을 만들기 위한 노력도 보여줄 수 있었다면 베스트였을 것 같네요.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;열정이 넘치는 대학생들은 나를 너무 반성하게 해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 지금 동아리 활동을 하고 있긴 한데..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희 동아리에도 열정과 실력이 넘치는 대학생분들이 있더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 분들을 보다보니.. 똑같은 느낌은 아니겠지만 &lt;b&gt;학생들로부터 에너지를 얻는다&lt;/b&gt;는 선생님들의 말씀이 무엇인지 대충 알 것 같기도 하고..ㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대학 생활을 엉망으로 해서 딱히 남은 게 없던 제 입장에서는 이렇게 열정적인 학생분들을 보면 멋있기도 하고, 부럽기도 하고, 현타도 오고 그렇습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 방학 때 롤 &amp;amp; 술 외에 한 게 없는데 ㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여튼 간만에 행사에, 그런데 뜬금없이 대학생분들의 행사에 참여하면서 자극을 받게 되었네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학생분들에게 제 자리를 뺏기지 않도록 더욱 열심히 해야겠습니다  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>후기</category>
      <category>solar</category>
      <category>tobig's</category>
      <category>업스테이지</category>
      <category>투빅스</category>
      <category>투빅스 컨퍼런스 데이</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/521</guid>
      <comments>https://chanmuzi.tistory.com/521#entry521comment</comments>
      <pubDate>Sun, 13 Jul 2025 15:08:01 +0900</pubDate>
    </item>
    <item>
      <title>&amp;lt;Agent&amp;gt; Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory (2025.04)</title>
      <link>https://chanmuzi.tistory.com/520</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다  &amp;zwj;♂️&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div id=&quot;USE_CHAT_GPT_AI_ROOT&quot; style=&quot;display: none; z-index: -1; position: absolute; top: -10000px; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;&quot;&gt;usechatgpt init success&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;[Mem0]&lt;br /&gt;- single-hop, temporal, multi-hop, open-domain 카테고리로 memory system 평가 (LOCOMO benchmark)&lt;br /&gt;- 생성까지 걸리는 시간과 생성 퀄리티 둘 다 잡은 방식, Mem0 &amp;amp; Mem0(g) 제안&lt;br /&gt;- memory 업데이트, 추가 등 관리 전반에 LLM을 활용한다는 특징&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://arxiv.org/abs/2504.19413v1&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://arxiv.org/abs/2504.19413v1&lt;/a&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Introduction&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM은 학습이 끝난 시점 이후 발생한 사건이나 정보들에 대해 접근할 수 없기 때문에,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;최신 정보나 도메인 특화된 정보를 제공&lt;/b&gt;하기 위해 RAG (Retrieval Augmented Generation) 와 같은 방법론이 크게 인기를 끌게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뿐만 아니라 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;유저와의 기존 대화 내용 등을 기반으로 유저의 선호나 특성을 파악하여 추론해주는 memory system&lt;/b&gt;&lt;/span&gt;이 활발히 적용되고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(OpenAI에서도 memory 기능을 지원하면서 대화를 시작할 때마다 내가 원하는 것들을 반복적으로 설명하지 않아도 되게 바뀌었죠)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 현재 LLM 아키텍쳐 특성상, 모델이 받아들일 수 있는 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;입력의 길이가 제한(fixed context windows)&lt;/b&gt;&lt;/span&gt;되어 있기 때문에,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM이 persistent memory를 갖는다는 것은 사실상 굉장히 어려운 문제로 남아 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;956&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XbMg6/btsOL5ZpLVV/T54YOVnUaipMEzQ88bsmk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XbMg6/btsOL5ZpLVV/T54YOVnUaipMEzQ88bsmk0/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 1&amp;amp;gt; Illustration of memory importance in AI agents&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XbMg6/btsOL5ZpLVV/T54YOVnUaipMEzQ88bsmk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXbMg6%2FbtsOL5ZpLVV%2FT54YOVnUaipMEzQ88bsmk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;292&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;956&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 1&amp;gt; Illustration of memory importance in AI agents&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(Figure 1에서는 한 유저의 여러 세션이 독립적으로 관리될 때와 그렇지 않을 때를 비교하고 있습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람은 (모든 것을 기억할 수 없지만) 필요한 &amp;amp; 중요한 정보들을 선별적으로 우리 뇌에 잘 저장하고, 그렇지 않은 것들은 희미하게 저장되는 등의 메커니즘이 알아서 적용되는데, 모델은 이를 스스로 수행할 수 없다는 문제점을 갖고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어찌 보면 사람도 수용 가능한 최대 메모리가 있을 텐데 이를 효율적으로 관리 &amp;amp; 업데이트하고 있는 셈이겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 본 논문에서는 LLM의 memory를 장기적으로 보존하고 관리할 수 있는 방법론을 제시하는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 &lt;b&gt;Mem0, Mem$0^g$&lt;/b&gt; 라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(후자의 $g$는 graph를 의미합니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 방법론들을 &lt;b&gt;LOCOMO&lt;/b&gt;라는 벤치마크에 대해 성능 평가한 내용들을 논문에 포함하고 있고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 이 방법론들은 기존 방법론들 대비 속도(latency) &amp;amp; 성능(performance) 모두 뛰어나 두 마리 토끼를 다 잡았다는 평가를 받고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/mem0ai/mem0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;깃허브&lt;/a&gt;에 가보시면 현재 25.06.22 기준으로 35K stars를 기록할 정도로 크게 주목받고 있고요.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Methods&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.1. Mem$0$&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대화 내의 중요한 정보를 추출, 평가, 관리하는 방식입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2242&quot; data-origin-height=&quot;920&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbiHAf/btsOLRtm7en/vQFBrBjDu85rZ6dpjlUu2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbiHAf/btsOLRtm7en/vQFBrBjDu85rZ6dpjlUu2k/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 2&amp;amp;gt; Architectural overview of the Mem0 system&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbiHAf/btsOLRtm7en/vQFBrBjDu85rZ6dpjlUu2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbiHAf%2FbtsOLRtm7en%2FvQFBrBjDu85rZ6dpjlUu2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;789&quot; height=&quot;324&quot; data-origin-width=&quot;2242&quot; data-origin-height=&quot;920&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 2&amp;gt; Architectural overview of the Mem0 system&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추출 단계 (Extraction Phase)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로 입력된 message pair $(m_{t-1},m_t)$에서 memory를 추출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 pair는 주로 single turn (user message &amp;amp; assistant response) 을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;memory를 적절하게 추출할 수 있도록 두 개의 보충 정보를 활용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(1) a conversation Summary $S$&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 대화 히스토리의 semantic content를 담고 있는 데이터베이스로부터 가져옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(2) a sequence of recent messages ${m_{t-m}, m_{t-m+1}, ..., m_{t-2}}$&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;recency window $m$을 하이퍼파라미터로 사용하여 최근 대화 내용을 추가 정보로 활용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;default $m$은 10&lt;/span&gt;&lt;/b&gt;으로 설정됩니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;new message pair + (1) + (2) 를 결합한 prompt는 다음과 같이 표현됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$P=(S, {m_{t-m}, ..., m_{t-2}}, m_{t-1}, m_t)$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이를 입력으로 받는 extraction function $\phi(P)$는 salient memories $\Omega = {\omega_1, \omega_2, ..., \omega_n}$를 추출합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 여기서 추출된 salient memories는 전부 저장되는 것이 아니라 knowledge base에 저장될 가능성이 있는 candiate facts 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;업데이트 단계 (Update Phase)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 candidate fact에 대해서 기존 memories의 consistency를 유지하고 redundancy를 피하기 위한 평가를 수행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(memory management operation for each extracted fact $\omega_i \in \Omega$)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 각 fact $\omega_i$에 대해서 데이터베이스로부터 semantically similar memories를 top $s$개 검색합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;default $s$는 10&lt;/b&gt;&lt;/span&gt;으로 설정됩니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(이때 활용되는 dense embeddings는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;OpenAI의 'text-embedding-small-3'&lt;/b&gt;&lt;/span&gt;입니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색된 $s$개의 memories는 candidate fact와 함께 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;'tool call'&lt;/b&gt;&lt;/span&gt;이라고 부르는 function-calling으로 넘겨집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이에 따라 LLM은 네 개의 operation 중 한 개를 실행하게 됩니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;ADD
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;semantically 유사한 memory가 없을 때, 새로운 memory로 추가합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UPDATE&lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 memories에 대해 보충할 정보가 있을 때, 기존 메모리를 업데이트합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DELETE
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;새로운 정보와 상충하는 것이 있을 때, 기존 memories를 삭제합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;NOOP
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 knowledge base에 어떤 변경 사항도 적용하지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자는 이를 위해 별도의 classifier를 두지 않고 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;LLM(GPT-4o-mini)&lt;/b&gt;&lt;/span&gt;을 사용함으로써 knowledge base의 coherence &amp;amp; temporal consistency를 유지한다고 설명합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2.2. Mem$0^g$&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;690&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xJll0/btsOMoEb2CH/l7pBKeoILFZUDKjRIAd0wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xJll0/btsOMoEb2CH/l7pBKeoILFZUDKjRIAd0wk/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 3&amp;amp;gt; Graph-based memory architecture of Mem0^g&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xJll0/btsOMoEb2CH/l7pBKeoILFZUDKjRIAd0wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxJll0%2FbtsOMoEb2CH%2Fl7pBKeoILFZUDKjRIAd0wk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;232&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;690&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 3&amp;gt; Graph-based memory architecture of Mem0^g&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mem$0^g$는 graph-based memory approach로, 자연어로부터 contextual information을 효과적으로 capture, store, retireve 하는 memory 방법론입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(graph database로 &lt;b&gt;Neo4j&lt;/b&gt; 사용)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서의 memories는 directed labeld graph $G=(V, E, L)$로 표현되는데 각 기호의 의미는 아래와 같습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Nodes $v \in V$
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;entities&lt;/b&gt; (e.g. &lt;b&gt;Alice&lt;/b&gt;, &lt;b&gt;San_Francisco&lt;/b&gt;)&lt;/li&gt;
&lt;li&gt;(1) entity type classification (e.g. Person, Location, Event)&lt;/li&gt;
&lt;li&gt;(2) embedding vector $e_v$&lt;/li&gt;
&lt;li&gt;(3) metadata including creation timestamp $t_v$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Edges $E$
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;relationships&lt;/b&gt; between entities (e.g. &lt;b&gt;Lives_In&lt;/b&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Labels $L$
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;assign &lt;b&gt;semantic types&lt;/b&gt; to nodes (e.g. Alice - &lt;b&gt;Person&lt;/b&gt;, San_Francisco - &lt;b&gt;City&lt;/b&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 요소들을 종합한 relationship는 $(v_s, r, v_d)$와 같은 triplet으로 구조화됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;($s$: source, $r$: labeled edge, $d$: destination)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추출 (Extraction Phase)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;unstuctured text를 sturctured graph representations로 변환&lt;/b&gt;하기 위해 LLM 기반의 two-stage pipeline을 이용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(1) Entity Extractor&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모듈은 input text 내의 entities &amp;amp; corresponding types를 찾아냅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에서 entities는 대화 내의 key information elements를 뜻하는데, peopl, locations, objects 등의 속성들입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;entity extractor가 다양한 information units를 잘 식별할 수 있도록 semantic importance, uniqueness, persistence of elements 등을 분석하도록 했다고 설명합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(프롬프트에 잘 반영한 것을 설명한 내용으로 해석됩니다. 아마도..?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(2) 관계 생성 (Relationship Generator)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;entities가 다른 entity와 어떤 식으로 관계를 맺고 있는지 파악하기 위해 linguistic patterns, contextual cues, domain knowledge 등을 활용했다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(마찬가지로 프롬프트에 반영한 내용으로 보입니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;generator는 먼저 각 potential entity pair에 대해서 둘 사이에 meaningful relationship이 존재할지 평가하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 존재한다면 적절한 label로 이 관계를 분류합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(e.g. 'lives_in', 'prefers', 'owns', 'happened_on')&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 &lt;b&gt;각 entity에 대한 정보, 각 entities 간의 관계 정보를 포함하여 triplet&lt;/b&gt;을 만들 수 있게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;업데이트 (Update Phase)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mem$0^g$는 새로운 정보를 정교하게 관리하기 위한 storage &amp;amp; update strategy가 있다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(1) Conflict Detector&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;consistent knowledge graph를 유지하기 위해서 conflict detection mechanism을 실행하는데,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이는 새로운 정보가 주어졌을 때 기존 관계와 conflict 하는지 아닌지를 판별하는 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 각 relationship triplet에 대해 source ($s$) &amp;amp; destination ($d$) entities의 embeddings를 계산합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; 존재하는 노드들에 대해 이것들과의 유사도가 threshold $t$ 이상인 것들을 검색&lt;/b&gt;&lt;/span&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색 결과에 따라 두 노드를 추가로 생성하거나, 한 개만 생성하거나, 기존 노드의 정보를 사용하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(2) Update Resolver&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;LLM 기반(GPT-4o-mini)의 update resolver는 특정 관계가 필요 없어졌는지(obsolete) 확인하여 이들을 invalid 한 것으로 표시합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 특징은 &lt;b&gt;구식(obsolete)의 정보를 완전히 제거하지 않고 invalid로 표시&lt;/b&gt;함으로써 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;temporal reasoning&lt;/b&gt;&lt;/span&gt;이 가능하도록 한 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mem$0^g$는 최적의 information access를 위한 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;dual-approach&lt;/b&gt;&lt;/span&gt;를 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 우선 query 내의 key entities를 식별하고, semnatic similarity를 이용하여 knowledge graph 내에 상응하는 노드를 찾아냅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 &lt;b&gt;anchor 노드로 들어오는 &amp;amp; 나가는 관계를 모두 explore&lt;/b&gt; 함으로써 contextual information을 충분히 저장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 그리고 &lt;b&gt;query는 embedding vector로 변환되어 각 triplet의 embedding과의 유사도를 계산&lt;/b&gt;하게 됩니다. (내림차순 정렬)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 relevance threshold를 넘는 triplet만을 반환하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과적으로, &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Mem$0^g$는&lt;/span&gt; semantic embeddings를 포함하는 graph-based representations와 LLM 기반의 information을 통합한 구조&lt;/b&gt;라고 간단 요약할 수 있겠습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Experimental Setup&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.1. Dataset&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;[LoCoMo dataset]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(Evaluating Very Long-Term Conversational Memory of LLM Agents: &lt;a href=&quot;https://snap-research.github.io/locomo/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://snap-research.github.io/locomo/&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;a href=&quot;https://github.com/snap-research/locomo/tree/main/data&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;데이터셋 원본 링크&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1078&quot; data-origin-height=&quot;1368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rHIpD/btsOK7Kk8Tn/lbdOYetgOVicTVO9OTNRTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rHIpD/btsOK7Kk8Tn/lbdOYetgOVicTVO9OTNRTK/img.png&quot; data-alt=&quot;&amp;amp;lt;LoCoMo Figure 1&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rHIpD/btsOK7Kk8Tn/lbdOYetgOVicTVO9OTNRTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrHIpD%2FbtsOK7Kk8Tn%2FlbdOYetgOVicTVO9OTNRTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;334&quot; height=&quot;424&quot; data-origin-width=&quot;1078&quot; data-origin-height=&quot;1368&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;LoCoMo Figure 1&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대화 시스템 내에서 long-term conversationl memory를 평가하기 위해 설계된 데이터셋으로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각 평균 26000 토큰, 600개의 dialogues로 구성된 10개의 extended conversations입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 conversation은 daily experiences 또는 과거 사건들에 대해 이야기를 나누는 두 인물의 대사로 구성되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이에 대해서 ground truth answers를 뽑을 수 있는 200개씩의 질문이 수반됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 질문들은 'single-hop, multi-hop, temporal, open-domain' 유형으로 구분됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2210&quot; data-origin-height=&quot;1128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wcnmr/btsONbRUt5d/HEBjfbVaZ68JZayJfKsz0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wcnmr/btsONbRUt5d/HEBjfbVaZ68JZayJfKsz0K/img.png&quot; data-alt=&quot;&amp;amp;lt;LoCoMo Figure 2&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wcnmr/btsONbRUt5d/HEBjfbVaZ68JZayJfKsz0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWcnmr%2FbtsONbRUt5d%2FHEBjfbVaZ68JZayJfKsz0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;688&quot; height=&quot;351&quot; data-origin-width=&quot;2210&quot; data-origin-height=&quot;1128&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;LoCoMo Figure 2&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원데이터셋에는 모델의 unanswerable questions에 대한 능력을 보는 데이터도 포함되어 있으나 본 실험의 평가 대상이 아니어서 제외되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;LoCoMo Figure2&amp;gt;를 보면 &lt;b&gt;(1) Question Answering Task&lt;/b&gt;에 대한 것만 본 연구에서 활용했음을 알 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.2. Evaluation Metrics&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) Performance Metrics&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;F1 Score ($F_1$) &amp;amp; BLEU-1 ($B_1$)&lt;/li&gt;
&lt;li&gt;LLM-as-a-Judge ($J$)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$J$ 평가의 stochastic 특성을 감안하여 10번을 독립적으로 실행했다고 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) Deployment Metrics&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Token Consumption
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;tiktoken의 cl100k_base 사용 (OpenAI tokenizer - &lt;a href=&quot;https://github.com/openai/tiktoken&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;깃허브 링크&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;retrieval에서 context로 사용되는 토큰의 개수 측정 (여기서는 knoledge base에서 retrieved memories)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Latency
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(1) search latency: memory에서 필요한 정보를 찾아오는 데 걸린 총 시간&lt;/li&gt;
&lt;li&gt;(2) total latency: 최종 응답을 생성하는 데 걸린 총 시간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;두 metric 간의 trade-off 존재가 일반적입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;system design이 복잡할수록 정교한 검색 및 생성이 가능할 테지만, 그만큼 latency가 올라갈 것임을 쉽게 예상할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.3. Baselines&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가능하면 재현 가능한 실험 위해 temperature는 0으로 설정하고 실행을 진행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용된 베이스라인들은 다음과 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Established LoCoMo benchmarks
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LoCoMo 데이터셋을 평가하기 위해 사용되었던 다섯 개의 approaches: &lt;b&gt;LoCoMo, ReadAgent, MemoryBank, MemGPT, A-Mem&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;gpt-4o-mini를 평가자로 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Open-Source Memory Solutions
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;LangMem&lt;/b&gt; (Hot Path)&lt;/li&gt;
&lt;li&gt;LLM은 gpt-4o-mini, embedding은 text-embedding-small-3 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Retrieval-Augmented Generation (RAG)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;128, 256, 512, 1024, 2048, 4096, 8192로 고정된 길이의 대화를 사용 (8192가 embedding 모델이 받을 수 있는 최대 길이)&lt;/li&gt;
&lt;li&gt;text-embedding-small-3 모델로 embedded&lt;/li&gt;
&lt;li&gt;top $k$개 chunks를 가져오는데, $k \in {1,2}$. 이는 평균 대화 길이가 26000 토큰으로 $k=2$만 되어도 16384 토큰을 차지하여 이를 초과하는 경우 memory 시스템 존재 의미가 없어지기 때문&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Full-Context Processing
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전체 conversation history를 LLM에 전달&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Proprietary Models
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;OpenAI's memory&lt;/b&gt; (gpt-4o-mini)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Memory Providers
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Zep&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Evaluation Results, Analysis and Discussion&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.1. Performance Comparison Across Memory-Enabled Systems&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2240&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djv0L6/btsOK9Bn7iQ/gNeDyM0kRGCptVnZxxKk30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djv0L6/btsOK9Bn7iQ/gNeDyM0kRGCptVnZxxKk30/img.png&quot; data-alt=&quot;&amp;amp;lt;Table 1&amp;amp;gt; Performance comparison of memory-enabled systems across different question types in the LoCoMo dataset&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djv0L6/btsOK9Bn7iQ/gNeDyM0kRGCptVnZxxKk30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdjv0L6%2FbtsOK9Bn7iQ%2FgNeDyM0kRGCptVnZxxKk30%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;767&quot; height=&quot;224&quot; data-origin-width=&quot;2240&quot; data-origin-height=&quot;654&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Table 1&amp;gt; Performance comparison of memory-enabled systems across different question types in the LoCoMo dataset&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Single-Hop, Multi-Hop
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Mem$0$가 가장 우수, 의외로 Mem$0^g$ 성능이 좋지 않음&lt;/li&gt;
&lt;li&gt;단순한 형태의 retrieval tasks에서는 graph design이 불필요하다는 것을 반증&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Open-Domain, Temporal Reasoning
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Mem$0^g$가 강세를 보임&lt;/li&gt;
&lt;li&gt;구조화된 memory가 장점을 발휘하는 영역&lt;/li&gt;
&lt;li&gt;특히 temporal reasoning을 잘할 수밖에 없다는 점이 두드러지는 듯&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.2. Performance Comparison of Mem$0$ and Mem$0^g$ Against RAG Approaches and Full-Context Model &amp;amp; Latency Analysis&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2268&quot; data-origin-height=&quot;1744&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkbsfq/btsONEsPup0/6SXY3JiWv3zwmUw0nSPKO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkbsfq/btsONEsPup0/6SXY3JiWv3zwmUw0nSPKO0/img.png&quot; data-alt=&quot;&amp;amp;lt;Table 2&amp;amp;gt; Performance comparison of various baselines with proposed methods&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkbsfq/btsONEsPup0/6SXY3JiWv3zwmUw0nSPKO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbkbsfq%2FbtsONEsPup0%2F6SXY3JiWv3zwmUw0nSPKO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;538&quot; data-origin-width=&quot;2268&quot; data-origin-height=&quot;1744&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Table 2&amp;gt; Performance comparison of various baselines with proposed methods&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Overall $J$ 열을 보면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Mem$0$와 Mem$0^g$를 사용함으로써 확실한 성능 gain이 있음&lt;/li&gt;
&lt;li&gt;그럼에도 불구하고 Full-context를 사용하는 것보다 뛰어나지는 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;을 알 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 RAG 시나리오에서 chunk size가 8192일 때와, Full-context를 사용할 때의 latency를 보면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각 4.416 / 9.942 / 17.117 초인 것을 알 수 있습니다. (Total, p95 기준)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;서비스 관점에서 보면 성능 향상 대비 latency 상승 폭이 지나치게 크다&lt;/b&gt;&lt;/span&gt;고 볼 수 있겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당연한 이야기지만 Full-context를 사용할 때는 별도의 retireval 과정이 없으므로 total latency만 존재하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 달리 빨간색으로 표시된 Mem$0$의 latency를 보면 1.440초 정도밖에 걸리지 않습니다. (Total, p95 기준)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 잘 보여주는 것이 아래 두 그래프입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2180&quot; data-origin-height=&quot;912&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNmulp/btsOLdw7o5G/5jc3ny5FKh2ai4thMjHpx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNmulp/btsOLdw7o5G/5jc3ny5FKh2ai4thMjHpx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNmulp/btsOLdw7o5G/5jc3ny5FKh2ai4thMjHpx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNmulp%2FbtsOLdw7o5G%2F5jc3ny5FKh2ai4thMjHpx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;724&quot; height=&quot;303&quot; data-origin-width=&quot;2180&quot; data-origin-height=&quot;912&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2184&quot; data-origin-height=&quot;884&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WIV62/btsOMcjJ7hi/TywTgR0upsYnwKXJMWoDJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WIV62/btsOMcjJ7hi/TywTgR0upsYnwKXJMWoDJK/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 4&amp;amp;gt; Latency Analysis of Different Memory Approaches&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WIV62/btsOMcjJ7hi/TywTgR0upsYnwKXJMWoDJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWIV62%2FbtsOMcjJ7hi%2FTywTgR0upsYnwKXJMWoDJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;702&quot; height=&quot;284&quot; data-origin-width=&quot;2184&quot; data-origin-height=&quot;884&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 4&amp;gt; Latency Analysis of Different Memory Approaches&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(추가로, 논문에서는 Token 사용량을 대상으로 Memory System의 Overhead를 설명하고 있는데, minor 한 것 같아서 본 포스팅에서는 다루지 않습니다.)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. Conclusion and Future Work&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 LLM agents의 memory를 효율적으로 관리 및 업데이트하여 빠르게 검색하면서도 멀티턴에서 뛰어난 성능을 보일 수 있도록 만드는 Mem$0$ &amp;amp; Mem$0^g$ 방법론에 대해 알아봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LoCoMo 벤치마크 데이터셋을 대상으로 LLM agents의 memory system을 latency &amp;amp; performance 두 관점에서 실험한 결과는,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 기존의 방법론들 대비 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;훨씬 적은 latency로도 높은 성능&lt;/b&gt;&lt;/span&gt;을 낼 수 있음을 보여주었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 파이프라인 내에 여러 LLM들을 활용하여 분기 처리하는 agentic flow가 대세인 지금, 가장 활발히 이용되는 방법론이었는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;내용적으로는 엄청 특별하거나 참신한 것은 딱히 느껴지지 않는 것 같습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면 GPT-4o-mini의 function call을 이용하여 데이터 업데이트, 추가 등의 분기 처리 역시 기존에 존재하던 방법론들이니까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;전체 대화 히스토리를 비동기적으로 업데이트&lt;/b&gt;&lt;/span&gt;하고, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;빠르고 정확한 메모리 검색을 가능하도록 하는 방법들을 사용&lt;/b&gt;&lt;/span&gt;하여 속도와 성능 (사실 속도도 성능이지만요) 둘 다 훌륭하게 챙긴 덕분에 많은 사람들의 사랑을 받는 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빠르지 않으면 실서비스에 활용하기는 불가능하니까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게다가 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;사용하는 토큰의 양도 적다&lt;/b&gt;&lt;/span&gt;는 점은 토큰 사용량 자체가 비용이 되는 서비스들에 대해서도 큰 메리트를 갖는 것으로 보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://polyfill.io/v3/polyfill.min.js?features=es6&quot;&gt;&lt;/script&gt;
&lt;script&gt; MathJax = { tex: {inlineMath: [['$', '$'], ['\(', '\)']]} }; &lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>Agents</category>
      <category>LLM</category>
      <category>llm agents framework</category>
      <category>mem0</category>
      <category>paper review</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/520</guid>
      <comments>https://chanmuzi.tistory.com/520#entry520comment</comments>
      <pubDate>Sun, 22 Jun 2025 20:32:42 +0900</pubDate>
    </item>
    <item>
      <title>&amp;lt;LLM, Diffusion&amp;gt; Large Language Diffusion Models (2024.02)</title>
      <link>https://chanmuzi.tistory.com/519</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다  &amp;zwj;♂️&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div id=&quot;USE_CHAT_GPT_AI_ROOT&quot; style=&quot;display: none; z-index: -1; position: absolute; top: -10000px; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;&quot;&gt;usechatgpt init success&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;[Renmin Univ. of China]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;- diffusion model을 scratch부터 pre-training &amp;amp; supervised fine-tuning (SFT) 적용한 LLaDA&lt;/b&gt;&lt;br /&gt;&lt;b&gt;- 일부 벤치마크에서 Autoregressive models (ARMs)보다 강한 scalability를 보여줌&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHDK2d/btsMLWjotdB/OOK0WQ1o1jlZwRtBt5UnJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHDK2d/btsMLWjotdB/OOK0WQ1o1jlZwRtBt5UnJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHDK2d/btsMLWjotdB/OOK0WQ1o1jlZwRtBt5UnJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHDK2d%2FbtsMLWjotdB%2FOOK0WQ1o1jlZwRtBt5UnJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;495&quot; height=&quot;421&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://arxiv.org/abs/2502.09992&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://arxiv.org/abs/2502.09992&lt;/a&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Introduction&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Diffusion(이하 디퓨전)을 LLM에 적용한 모델이 (상대적으로 작은 사이즈-7~8B-에서) 뛰어난 성능&lt;/b&gt;&lt;/span&gt;을 보여주며 화제가 되고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디퓨전은 특히 이미지/비디오 생성 분야에서 좋은 결과로 이어진 사례가 많아 관련 연구가 쏟아지고 있는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(다들 이제는 잘 아시겠지만) 이와 달리 &lt;b&gt;LLM은 현재 스텝에서 다음 스텝에 등장할 확률이 가장 높은 토큰 한 개를 예측하는 Autoregressive models (ARM)&lt;/b&gt; 방식입니다. (&lt;b&gt;next-token prediction paradigm&lt;/b&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자들은 이러한 방식이 현재 LLM과 같은 intelligence를 만들 수 있는 유일한 방식인지에 대해 의문을 제시하고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 바탕으로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Large Language Diffusion with mAsking, LLaDA&lt;/b&gt;&lt;/span&gt;를 제시합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 저자들 뿐만 아니라 수많은 연구자들이 이러한 의문을 제시하며 다양한 시도를 해왔으니 아직까지는 Mamba 정도를 제외하면 이정도 임팩트는 없었던 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본론으로 들어가기 전 미리 이해하고 있으면 도움이 되는 내용 중 하나는 &lt;b&gt;compuational cost&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘은 갈수록 적은 자원(토큰, 파라미터 등)을 사용하여 기존과 동일하거나 그 이상의 성능을 내는 것에 집중하는 연구들이 많은데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디퓨전의 경우 자원이 굉장히 많이 드는 방식인데 이를 적절한 방식으로 조율해서 좋은 성과를 낸 점이 포인트라고 할 수 있겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Approach&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.1. Probabilistic Formulation&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 ARM과 달리 LLaDA는 &lt;b&gt;forward process &amp;amp; reverse process&lt;/b&gt;를 통해 model distribution을 정의합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;forward process&lt;/b&gt;에서는 시퀀스가 $t=1$일 때 전부 maksed 될 때까지 $x_0$ 내의 토큰을 독립적으로 &amp;amp; 점진적으로 마스킹합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 $t \in (0,1)$에 대해서 시퀀스 $x_t$는 일부가 마스킹되어 있고, 각각은 $t$의 확률로 마스킹 되어 있을 것이며 나머지는 $1-t$의 확률로 마스킹되지 않은 채 존재합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;reverse process&lt;/b&gt;는 $t$가 1에서 0으로 변하는 동안 masked tokens이 원래 무엇이었는지를 반복적으로 예측함으로써 data distribution을 회복하는 과정입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2162&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tGyP8/btsMNfa3ubK/afDpujTM4Er506N1JTQcX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tGyP8/btsMNfa3ubK/afDpujTM4Er506N1JTQcX1/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 2&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tGyP8/btsMNfa3ubK/afDpujTM4Er506N1JTQcX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtGyP8%2FbtsMNfa3ubK%2FafDpujTM4Er506N1JTQcX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;724&quot; height=&quot;219&quot; data-origin-width=&quot;2162&quot; data-origin-height=&quot;654&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 2&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLaDA의 핵심은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;i&gt;&lt;b&gt;mask predictor&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;로, $x_t$을 입력으로 받아 maskted tokens을 동시에 예측하는 parametric model $p_{\theta}(\cdot |x_t)$입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엄청 심플하게도, &lt;b&gt;masked tokens에 대해서만 적용된 cross-entropy loss를 계산&lt;/b&gt;하여 모델은 학습됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 수식으로 표현한 것은 아래와 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}(\theta) \triangleq -\mathbb{E}_{t,x_0,x_t} \left[ \frac{1}{t} \sum_{i=1}^{L} \mathbb{1}[x_t^i = M] \log p_\theta(x_0^i | x_t) \right]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x_0$는 학습데이터로부터 샘플링하고, $t$는 $[0,1]$ 범위에서 uniformly 샘플링합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$x_t$는 forward process에서 샘플링 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\mathbb{1}[\cdot]$은 loss가 maked tokens에 대해서만 계산될 수 있음을 보장하기 위한 요소입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문에 딱히 언급되어 있지는 않지만 $i$의 값이 1부터 $L$인 것은 시퀀스의 길이를 의미하는 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 내용들을 풀어서 생각해보자면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0에서 1 사이의 값을 uniformly sampling 하여 획득한 $t$에 대하여,&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마스킹을 적용하기 전 최초의 입력 $x_0$ 중 $i$번째 토큰이 무엇인지 모델이 예측해야 하고,&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이때 $i$번째 토큰이 masked 되어 있을 때만 손실을 계산한 뒤,&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;$t$의 값으로 나눠 정규화를 해준 값의 기댓값이 곧 손실로 정의됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 수식은 이미 다른 논문에서 모델 분포에 대해 negative log-likelihood의 상한선임이 입증되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$-\mathbb{E}_{p_{\text{data}}(x_0)} \left[ \log p_\theta(x_0) \right] \leq \mathcal{L}(\theta)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같은 방식으로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;학습이 끝나면 mask predictor에 의해 parameterized reverse process를 시뮬레이션&lt;/b&gt;&lt;/span&gt; 할 수 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;model distribution $p_{\theta}(x_0)$를 $t=0$일 때 유도된 marginal distribution으로 정의할 수 있게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논문에서는 이와 관련하여 in-context learning과 Fisher consistency에 대해 언급하고 있는데 저는 후자는 전혀 모르겠네욥..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.2. Pre-training&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 언급한 것처럼 LLaDA의 가장 중요한 요소는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;i&gt;&lt;b&gt;mask predictor&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLaDA는 &lt;b&gt;Transformer&lt;/b&gt;를 mask predictor로 사용하지만 causal mask는 사용하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당연한 거지만 한 시점에서 입력 전체를 확인해야 하기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자들은 이 모델을 &lt;b&gt;1B와 8B 사이즈&lt;/b&gt;로 학습했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘은 대부분의 LLM을 학습할 때 grouped query attention (GQA)를 사용하는데,&lt;b&gt; LLaDA에서는 KV caching을 지원하지 않기 때문에 vanilla multi-head attention을 사용&lt;/b&gt;했다고 밝혔습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 결과적으로 동일한 개수의 attention layer를 사용한다고 가정했을 때, 더 많은 파라미터를 갖게 된다는 것을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 다른 ARM과 사이즈를 맞춰주기 위해서 &lt;b&gt;FFN(Feed Forward Network)의 차원(dimension)을 낮춰서 조절&lt;/b&gt;했다고 언급하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLaDA는 &lt;b&gt;2.3T tokens의 dataset&lt;/b&gt;으로 학습되었으며, &lt;b&gt;4k tokens의 고정된 시퀀스 길이&lt;/b&gt;로 학습되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 이후 다양한 길이의 텍스트에 대응이 가능할 수 있도록, 전체 사전학습 데이터의 1% 정도는 [1, 4096] 에서 uniformly sampled 된 길이의 데이터로 학습했다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 사용된 총 자원의 양은 0.13M H800 GPU 시간으로 유사한 사이즈의 ARM과 비슷한 수준임을 언급하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;학습 관련된&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;기타 디테일은 논문에서 직접 확인하실 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.3. Supervised Fine-Tuning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLaDA가 instruction을 follow 할 수 있도록 paired data $(p_0, r_0)$로 SFT 했다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 직관적으로 $p_0$는 prompt, $r_0$는 response를 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학습을 구현하는 것은 pre-training과 크게 다를 것은 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만, prompt가 원래 무엇이었는지를 예측해서 얻을 것은 없으므로, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;prompt는 그대로 두고 response 내의 tokens만 독립적으로 masking&lt;/b&gt;&lt;/span&gt; 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 수식으로 표현한 것은 아래와 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$-\mathbb{E}_{t,p_0,r_0,r_t} \left[ \frac{1}{t} \sum_{i=1}^{L'} \mathbb{1}[r_t^i = M] \log p_\theta(r_0^i | p_0, r_t) \right]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$L'$이 dynamic length를 의미한다는 점을 제외하면 이전과 동일합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;($p_0$와 $r_0$를 이어 붙이면 사실상 사전학습 데이터 $x_0$ 그 자체가 됩니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 &lt;b&gt;SFT는 4.5M 쌍의 데이터셋으로 수행&lt;/b&gt;했다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구체적인 내용이 더 있는지는 모르겠습니다만, 이러한 데이터셋을 구축하는데 LLM을 사용했다고 언급하는 것으로는 봐서 대부분이 합성데이터일 것으로 예상됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 마찬가지로, 학습 관련된 기타 디테일(학습률 등)은 논문에서 직접 확인하실 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.4. Inference&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프롬프트 $p_0$가 주어지면, &lt;b&gt;fully maksed response에서 시작&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reverse process를 discretize하여 모델 분포 $p_{\theta}(r_0|p_0)$로부터 sampling합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 &lt;b&gt;몇 번의 sampling으로 추론할 것인지는 하이퍼파라미터로 결정&lt;/b&gt;됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 정확성과 효율성 간의 trade-off가 일어나는 요소가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유사하게, &lt;b&gt;생성되는 길이(generation length)도 하이퍼파라미터로 조정&lt;/b&gt;하는데, 학습을 마친 모델의 성능이 여기에 대해서는 insensitive 했다고 설명하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중간 과정에 대한 디테일을 잠깐 설명하는데요,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중간 step $t \in (0, 1]$부터 $s \in [0,t)$에 대해서 $p_0$과 $r_t$를 mask predictor에게 입력으로 제공하면 masked tokens 전체를 동시에 예측하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 예측된 토큰의 $\frac {s}{t}$를 remask하여 $r_s$를 획득하는데, 이는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;forward process와 reverse process를 align 해주기 위&lt;/b&gt;&lt;/span&gt;함입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 SFT 이후의 LLaDA에 대해서는 시퀀스를 여러 blocks로 쪼개고 left to right 방향으로 생성하는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;semi-autoregressive remaksing&lt;/b&gt;&lt;/span&gt;을 적용했다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;conditional likelihood evaluation을 위해 상한선을 적용한 수식은 아래와 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$-\mathbb{E}_{l,r_0,r_l} \left[ \frac{L}{l} \sum_{i=1}^{L} \mathbb{1}[r_l^i = M] \log p_\theta(r_0^i | p_0, r_l) \right]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Experiments&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.1. Scalability of LLaDA on Language Tasks&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2078&quot; data-origin-height=&quot;974&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cou7dQ/btsMNcZJeNx/Ot1o8yXZnw759yuvLkvT3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cou7dQ/btsMNcZJeNx/Ot1o8yXZnw759yuvLkvT3k/img.png&quot; data-alt=&quot;&amp;amp;lt;Figure 3&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cou7dQ/btsMNcZJeNx/Ot1o8yXZnw759yuvLkvT3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcou7dQ%2FbtsMNcZJeNx%2FOt1o8yXZnw759yuvLkvT3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;649&quot; height=&quot;304&quot; data-origin-width=&quot;2078&quot; data-origin-height=&quot;974&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Figure 3&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구체적으로 태스크별로 설명을 달지는 않겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과만 간단히 언급하자면 &lt;b&gt;LLaDA가 뛰어난 scalability&lt;/b&gt;를 보여줬다는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;빨간색&lt;/span&gt;&lt;/b&gt;으로 표시된 것은 학습을 많이 할수록 기존 ARM 모델과의 갭이 커졌다는 것을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 &lt;span style=&quot;color: #f3c000;&quot;&gt;&lt;b&gt;노란색&lt;/b&gt;&lt;/span&gt;으로 표시된 것은, 학습 초반에는 ARM 베이스라인의 성능이 더 좋았으나, 학습을 진행할수록 그 갭이 줄거나 성능 역전이 발생된 것을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 밝힌대로 LLaDA는 1B, 8B 두 사이즈의 모델로 공개되었는데요, ARM 베이스라인은 LLaMA2 7B, LLaMA3 8B 모델입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.2. Benchmark Results&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Pre-trained LLMs&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2116&quot; data-origin-height=&quot;1254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BXKvN/btsMLPrayAp/Ua3WXC9w9o8UuG9BgiUFO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BXKvN/btsMLPrayAp/Ua3WXC9w9o8UuG9BgiUFO0/img.png&quot; data-alt=&quot;&amp;amp;lt;Table 1&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BXKvN/btsMLPrayAp/Ua3WXC9w9o8UuG9BgiUFO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBXKvN%2FbtsMLPrayAp%2FUa3WXC9w9o8UuG9BgiUFO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;455&quot; data-origin-width=&quot;2116&quot; data-origin-height=&quot;1254&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Table 1&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.3T 토큰으로 학습된 LLaDA 모델은 거의 모든 태스크에서 LLaMA2 7B 모델보다 우수한 성능을 거두었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 LLaMA3 8B 모델은 수학과 중국어에서 LLaDA보다 강세를 보였는데, 저자는 이것이 &lt;b&gt;closed-source datasets&lt;/b&gt;에 기인한 것이라고 추측합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Post-trained LLMs&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2118&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xxMHX/btsMLwk63Lb/JoSsxA5B1DACQpuP2ZERU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xxMHX/btsMLwk63Lb/JoSsxA5B1DACQpuP2ZERU0/img.png&quot; data-alt=&quot;&amp;amp;lt;Table 2&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xxMHX/btsMLwk63Lb/JoSsxA5B1DACQpuP2ZERU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxxMHX%2FbtsMLwk63Lb%2FJoSsxA5B1DACQpuP2ZERU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;816&quot; height=&quot;385&quot; data-origin-width=&quot;2118&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Table 2&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MMLU와 같은 벤치마크에서 낮은 성능을 기록한 것은 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;SFT 데이터셋의 품질 이슈&lt;/b&gt;&lt;/span&gt; 때문이라고 설명합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;꽤 많은 합성 데이터를 사용한 것으로 보이는데 왜 이런 설명이 있는 것인지 잘 이해되지는 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 포인트는 이 모델엔 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;RL이 적용되어 있지 않다&lt;/b&gt;&lt;/span&gt;는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(RL을 적용한 모델들으 비교군으로 삼고 있습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 의도적인 건지 알 수는 없지만 이를 효율적인 것이라고 언급하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로는 RL을 똑같이 적용하면 되지 않나 싶긴 합니다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.3. Reversal Reasoning and Analyses&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;496개의 Chineses peom sentence pairs로 구성된 데이터셋을 구성하여 reversal reasoning 능력을 평가합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모델은 짝을 이루는 데이터 중에서 한 개만을 입력으로 받아, 해당 텍스트에 이어지는 내용(forward)을 생성하거나 앞선 내용(reversal)을 생성해야 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qg3GO/btsMK6Utj76/zskyCFDHY8wyS3DYcmWbN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qg3GO/btsMK6Utj76/zskyCFDHY8wyS3DYcmWbN0/img.png&quot; data-alt=&quot;&amp;amp;lt;Table 3&amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qg3GO/btsMK6Utj76/zskyCFDHY8wyS3DYcmWbN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQg3GO%2FbtsMK6Utj76%2FzskyCFDHY8wyS3DYcmWbN0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;311&quot; height=&quot;103&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;Table 3&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 LLM들이 이렇게 단순히 텍스트의 순서를 변경하는 것만으로도 큰 성능 하락폭을 보였는데, &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;LLaDA는 이에 대해 아주 강건한 모습&lt;/span&gt;&lt;/b&gt;을 보이고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에는 다음 토큰을 예측하는 방식(Next Token Prediction)으로 학습되었기 때문에 단순히 순서를 변경하는 것만으로도 모델 성능에 치명적인 영향을 줄 수 있다는 게 일반적인 설명인데요, 이러한 관점에서 LLaDA는 시퀀스 전체를 보며 학습했기 때문에 강건한 것으로 해석할 수 있겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;'중국어' 데이터셋&lt;/b&gt;&lt;/span&gt;이라는 점에서 굳이 신뢰가 가지는 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 LLM들은 중국어로 학습된 비중이 훨씬 적기 때문에..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;굳이 이 성능을 확인하고자 했다면 영어로 된 데이터셋으로 평가해봐야 하지 않았나 싶습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Conclusion and Discussion&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확실히 기존에 있던 것들이더라도 뛰어난 수준으로 발전시켜 실험적으로 입증할 수 있다면 그 자체로 논문거리가 되고 화제도 불러일으킬 수 있는 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;LLaDA&lt;/b&gt;는 분명 높은 &lt;b&gt;scalability, in-context learning, instruction-following&lt;/b&gt;을 보여줬다고 평가할 수 있어 보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직은 아쉬운 면들이 꽤 보이지만 잘 다듬으면 어쩌면 새로운 모델 패러다임을 정말로 제시할 수도 있을까 싶은 생각도 드네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자들은 한계점으로 자원 부족, 그리고 attention과 position embedding의 관점에서 특화된 것을 제공하지 않은 점 등을 단점으로 꼽고 있습니다만..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 이게 앞으로 연구해볼 수 있는 주제들을 나열한 것으로밖에 보이지는 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여튼, 꽤나 크게 화제가 되고 있는 논문을 오랜만에 조금 디테일하게 살펴봤는데 꽤 흥미롭네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예상했던 것보다 복잡한 메커니즘은 아니긴 한데 코드 구현상으로는 꽤 어려울수도 있겠다는 생각이 들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것도 한 번 파볼 필요가 있을 것 같고요..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만, 성능적으로는 특히나 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;reversal reasoning에 대한 평가가 너무 편향되어 있는 것 같다&lt;/b&gt;&lt;/span&gt;는 생각이 들었고..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 항상 이러한 방법론들이 히트라고 소개된 이후 수십 billion 사이즈의 모델까지 등장하며 경쟁 구도를 갖춘 사례가 없어 기대 &amp;amp; 걱정 되기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유의미한 방법론의 등장임이 입증되는 것은 최소 30B 이상 사이즈의 모델이 히트를 치는 순간이 아닐까 싶은데 이미 관련 연구가 진행되고는 있겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://polyfill.io/v3/polyfill.min.js?features=es6&quot;&gt;&lt;/script&gt;
&lt;script&gt; MathJax = { tex: {inlineMath: [['$', '$'], ['\(', '\)']]} }; &lt;/script&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Paper Review</category>
      <category>diffusion llm</category>
      <category>large language diffusion models</category>
      <category>llada</category>
      <category>llama</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/519</guid>
      <comments>https://chanmuzi.tistory.com/519#entry519comment</comments>
      <pubDate>Sun, 16 Mar 2025 23:57:31 +0900</pubDate>
    </item>
    <item>
      <title>스픽 5개월 내돈내산 후기 (스픽 헌드레드 클럽 달성!)</title>
      <link>https://chanmuzi.tistory.com/518</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;약 5개월 정도 스픽 앱을 내돈내산 해서 영어 공부한 후기&lt;/span&gt;&lt;/b&gt;를 남겨봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년(2024)에 크게 할인 할 때 AI 피드백까지 다양하게 받을 수 있는 버전을 구독했고 약 5개월이 흘렀네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확한 금액이 기억나지 않긴 한데 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;1년 동안 20만원 초반&lt;/b&gt;&lt;/span&gt; 정도에 해당하는 금액을 지불했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈을 사용한만큼 영어 실력이 늘었는가 하면 그렇지 않은 것 같습니다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 자체는 엄청 좋은데 제가 열심히 안한 게 가장 큰 이유고요  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 시간이나 노력을 더 투자하면 좋을 거 같은데 그러려면 생각보다 품이 더 드는 기분입니다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘부로 &lt;b&gt;154일 연속으로 공부했고 총 1763분을 투자&lt;/b&gt;했네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루 평균 10분 조금 더 공부한 셈입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nyJwl/btsMykFnujJ/kAeZyZcGQ3mkY7IFxAdrm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nyJwl/btsMykFnujJ/kAeZyZcGQ3mkY7IFxAdrm0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2308&quot; data-filename=&quot;edited_IMG_5505.PNG&quot; data-widthpercent=&quot;47.97&quot; style=&quot;width: 47.412%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nyJwl/btsMykFnujJ/kAeZyZcGQ3mkY7IFxAdrm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnyJwl%2FbtsMykFnujJ%2FkAeZyZcGQ3mkY7IFxAdrm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2308&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NyGbK/btsMBd5difo/HZxZFXLJRJBStyZFh7CYSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NyGbK/btsMBd5difo/HZxZFXLJRJBStyZFh7CYSK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2128&quot; data-filename=&quot;edited_IMG_5506.PNG&quot; data-widthpercent=&quot;52.03&quot; style=&quot;width: 51.4225%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NyGbK/btsMBd5difo/HZxZFXLJRJBStyZFh7CYSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNyGbK%2FbtsMBd5difo%2FHZxZFXLJRJBStyZFh7CYSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2128&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 주로 씻고 나서 로션 바르고 말리는 동안에 틀어 놓고 공부를 많이 하게 되더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어차피 비는 시간이라..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 AI와의 대화보다 이걸 훨씬 많이 했는데 그게 좀 많이 아쉽습니다 ㅜ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Course&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스픽에는 다양한 코스가 존재합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 개인 기호와 수준에 맞게 선택하면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9NZYS/btsMz9vU8vo/oKmk3KDpfSv9BPnJTbhsP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9NZYS/btsMz9vU8vo/oKmk3KDpfSv9BPnJTbhsP1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2418&quot; data-filename=&quot;edited_IMG_5507.PNG&quot; data-widthpercent=&quot;50.13&quot; style=&quot;width: 49.5497%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9NZYS/btsMz9vU8vo/oKmk3KDpfSv9BPnJTbhsP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9NZYS%2FbtsMz9vU8vo%2FoKmk3KDpfSv9BPnJTbhsP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2418&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8xDN7/btsMzs3DuCT/Auxf0e4e1SXbEMeqAMHms0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8xDN7/btsMzs3DuCT/Auxf0e4e1SXbEMeqAMHms0/img.png&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2431&quot; data-is-animation=&quot;false&quot; data-filename=&quot;edited_IMG_5508.PNG&quot; width=&quot;183&quot; height=&quot;398&quot; data-widthpercent=&quot;49.87&quot; style=&quot;width: 49.2848%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8xDN7/btsMzs3DuCT/Auxf0e4e1SXbEMeqAMHms0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8xDN7%2FbtsMzs3DuCT%2FAuxf0e4e1SXbEMeqAMHms0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2431&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 지금 구동사 코스를 듣고 있는데, 이전에는 캠퍼스/비지니스 관련 코스를 수강했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 쉽거나 어려운 코스도 있는데 확실히 난이도 차이가 느껴집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무거나 하나 시작해서 대충 파악해보고 조정하는 걸 추천합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기의 코스는 대부분 '개념 설명 - 복습 - 표현 연습 - 간단 대화 연습' 으로 이뤄집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개념 설명은 강사분이 한글 또는 영어로 가르치고자 하는 표현을 위한 빌드업에 해당하고요,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 학습한 표현을 반복적으로 숙달하는 과정이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통은 한 챕터가 3-4개 정도의 세션으로 이뤄져 있고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;음성 인식은 생각보다 정확해서 편리한데, 표현 반복이 의미 없이 이뤄지다 보니 실질적으로 실력 향상이 되는지는 잘 모르겠습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 스피킹은 배운 표현을 다른 곳에서 여러 번 활용해봐야 늘 것 같은데 ㅋㅋㅋ..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 환경이 잘 주어지지 않는 느낌입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그래도 강사분들의 설명이 쉽고 재밌어서 관심 있는 상황이나 영역의 표현들을 익히기는 좋다&lt;/b&gt;고 느꼈습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Free Talk&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TBRqo/btsMyCMBpps/5AQiNyXVKpxXa8F9Kof5gK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TBRqo/btsMyCMBpps/5AQiNyXVKpxXa8F9Kof5gK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2457&quot; data-filename=&quot;edited_IMG_5511.PNG&quot; data-widthpercent=&quot;49.84&quot; style=&quot;width: 49.2558%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TBRqo/btsMyCMBpps/5AQiNyXVKpxXa8F9Kof5gK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTBRqo%2FbtsMyCMBpps%2F5AQiNyXVKpxXa8F9Kof5gK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2457&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVFqJ4/btsMzYVqzxJ/56KX6a8MPn0efRskOTIkB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVFqJ4/btsMzYVqzxJ/56KX6a8MPn0efRskOTIkB1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2441&quot; data-filename=&quot;edited_IMG_5512.PNG&quot; data-widthpercent=&quot;50.16&quot; style=&quot;width: 49.5787%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVFqJ4/btsMzYVqzxJ/56KX6a8MPn0efRskOTIkB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVFqJ4%2FbtsMzYVqzxJ%2F56KX6a8MPn0efRskOTIkB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2441&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배운 내용들을 써먹을 수 있는 건 사실 Free Talk 기능이긴 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 강의 내용이나 구성은 너무 좋은데, 보통 목적이 스피킹 능력 향상이다보니..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Community에 올라와 있는 것들은 &lt;b&gt;개인이 직접 프롬프트 세팅을 통해 만든 컨셉들&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Create your own을 클릭하면 'My role, AI's role, Set the scene and the chat topic here' 칸을 채우게 되어 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_IMG_5510.PNG&quot; data-origin-width=&quot;1195&quot; data-origin-height=&quot;1551&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJqVdD/btsMzXhX25O/y8GamLknasKLhwgKfT45lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJqVdD/btsMzXhX25O/y8GamLknasKLhwgKfT45lk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJqVdD/btsMzXhX25O/y8GamLknasKLhwgKfT45lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJqVdD%2FbtsMzXhX25O%2Fy8GamLknasKLhwgKfT45lk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;385&quot; height=&quot;500&quot; data-filename=&quot;edited_IMG_5510.PNG&quot; data-origin-width=&quot;1195&quot; data-origin-height=&quot;1551&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 세팅을 어떻게 주는지에 따라 AI와의 대화 퀄리티가 천차만별이 되기 때문에 위에서 보시는 바와 같이 사람들이 좋아요를 눌러준 개수가 엄청 차이납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그것보다 쉽게 접근하고 싶다면 우측의 Topics에서 고를 수도 있을 것이고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI와의 대화는 꽤나 자연스럽게 한 턴씩 이어집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;근데 조금 애매한 건 대화를 끝내는 타이밍과 음성 인식입니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무조건 대화를 끝낼 수 있는 키워드가 있는 게 대부분은 아니어서..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 이 주제로 할 수 있는 말과 표현들을 다 썼고, 심지어 이제 그만 대화하자는 식으로 말을 던져도 특정 턴수를 충족시켜야 하는 경우가 있어 보이더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럴 때는 좀 난감했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 음성 인식이 의외로 여기에서는 잘 안되는 건지..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전혀 관련성 없는 표현으로 인식되면 대화 맥락이 조금 이상해지는 경우도 있어서 아쉬웠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 불구하고 이 기능이 돈값 한다고 생각했던 이유는 피드백에 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI와의 대화에서 유저가 답한 내용은 실시간으로 v 또는 * 표시가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전자는 문법적으로 이상이 없는 표현이었음을, 후자는 뭔가 잘못되어서 개선할 부분이 있는 표현임을 나타냅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;대화 전체가 종료되면 대화 중에서 개선이 필요했던 표현들 3개를 선정하여 복습하는 세션을 만들어 줍니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 내가 말했던 표현을 고치는 것 외에도, 이를 활용한 다양한 표현들을 만들어줘서 연습할 수 있는 기회가 제공됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 습관적으로 혹은 실수로 잘못 사용한 표현보다 좋거나 정확한 것들을 익힐 수 있어서 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 이것 역시도 개인적인 노력을 들이지 않으면 한 번 익히고 다시는 보지 않는 것들이 되기 때문에..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크랩을 하든 기록을 하든.. 장기 기억으로 넘어갈 수 있도록 애를 써야 될 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Leagues &amp;amp; Challenges&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmu1QJ/btsMz0lty4v/4X1GurmNxgeX94fKrdvauK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmu1QJ/btsMz0lty4v/4X1GurmNxgeX94fKrdvauK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2431&quot; data-filename=&quot;edited_IMG_5509.PNG&quot; style=&quot;width: 49.468%; margin-right: 10px;&quot; data-widthpercent=&quot;50.05&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmu1QJ/btsMz0lty4v/4X1GurmNxgeX94fKrdvauK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmu1QJ%2FbtsMz0lty4v%2F4X1GurmNxgeX94fKrdvauK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2431&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3TUnt/btsMzqScKyb/4fEi0HlX9frbpDM9XkjN21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3TUnt/btsMzqScKyb/4fEi0HlX9frbpDM9XkjN21/img.png&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2436&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3665%;&quot; data-widthpercent=&quot;49.95&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3TUnt/btsMzqScKyb/4fEi0HlX9frbpDM9XkjN21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3TUnt%2FbtsMzqScKyb%2F4fEi0HlX9frbpDM9XkjN21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2436&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 때 이러한 티어 시스템 때문에 인생이 힘들어진 적이 있는데.. ㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성취욕을 자극하기 위한 기능들입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래는 플래티넘 이상 티어였는데, 최근에는 하루에 한 강 수강하는 것도 좀 빡세지면서 티어가 많이 내려오게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하루에 한 강 수강하고 조금 더 공부하고 하면 실버-골드 사이고, 그보다 좀 더 하면 올라갈 수 있겠더라고요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 사실 하루에 course 한 개, free talk 한 개는 해야 될 거 같은데 그럴 시간과 여유가 없는지라..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Challenges는 달성하기 크게 어렵지 않습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루에 course 한 개를 열심히 듣고 단어를 따로 조금씩만 챙겨주면 월간 챌린지들을 달성할 수 있는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상품으로 아이패드도 걸려있고 하니 join 하지 않을 이유는 없는 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 아쉬운 건 월마다 초기화되는 이 챌린지 알림을 왜 안주는가;; 입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 스픽 헌드레드 클럽&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A95WG/btsMA4tPahn/KqNKagBRFQzvkakNpyaXF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A95WG/btsMA4tPahn/KqNKagBRFQzvkakNpyaXF1/img.png&quot; data-origin-width=&quot;1054&quot; data-origin-height=&quot;680&quot; data-is-animation=&quot;false&quot; style=&quot;width: 66.6059%; margin-right: 10px;&quot; data-widthpercent=&quot;67.39&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A95WG/btsMA4tPahn/KqNKagBRFQzvkakNpyaXF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA95WG%2FbtsMA4tPahn%2FKqNKagBRFQzvkakNpyaXF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1054&quot; height=&quot;680&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t8YMw/btsMzNNj5w6/Jn6C0vCVGnqeEMRr4akT10/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t8YMw/btsMzNNj5w6/Jn6C0vCVGnqeEMRr4akT10/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;IMG_5494.JPG&quot; style=&quot;width: 32.2286%;&quot; data-widthpercent=&quot;32.61&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t8YMw/btsMzNNj5w6/Jn6C0vCVGnqeEMRr4akT10/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft8YMw%2FbtsMzNNj5w6%2FJn6C0vCVGnqeEMRr4akT10%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 100일 근처 streak을 달성하기 전까지는 몰랐는데 ㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;100일을 채우면 이런 굿즈를 주더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로고도 이쁘고 마음에 듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자세한 내용 확인에서 신청서를 작성하면 익월에 일괄적으로 발송해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 지난 달 1월에 L 사이즈로 신청해서 이번 달 2월에 수령했는데 작더라고요...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완전 억지 머슬핏 티셔치를 입은 느낌이니 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;사이즈는 조금 여유있게 신청하시길 추천&lt;/b&gt;&lt;/span&gt;합니다  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아, 참고로 스픽은 스트릭에 조금 후한 게 ㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;하루 놓치면 다음 날 강의를 두 개 듣고 스트릭을 복구 할 수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 90일까지 하고 91일째 놓쳤다면, 실제로는 92일째 되는 날 강의 두 개를 들으면 92 streak을 유지할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로는 이런 건 엄청 엄격하게 해도 되지 않나..? ㅎㅎ 싶긴 하지만 그래도 의욕을 꺾지 않는다면 좋은 시스템이라고 생각합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이틀 이상 빠진 걸 복구해주는지는 잘 모르겠습니다!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 스픽 추천?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 스픽으로 오기 전에는 듀오링고를 쓰고 있었어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;듀오링고는 확실히 게이미피케이션으로 유명한만큼 중독성이 뛰어났었고요..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 실질적으로 말하는 연습을 하고 영어 실력이 향상된다는 느낌을 받지 못했어서 스픽에 도전하게 됐습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반년이 조금 안된 경험으로는, &lt;i&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;듀오링고보다는 낫지만 아쉽다&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;, 고 느꼈습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무래도 AI 대화가 제일 스피킹에 도움이 될텐데 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;주제를 유저가 매일 다 정해야 되다 보니까 피로도가 좀 있어서 꺼리게 되더라고요.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일정한 기간 동안 어떤 걸 달성할지에 따라 과정도 다를텐데 그런 것도 당연히 없고...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;왜 스픽에서 체계적인 AI 코스를 만들지 않는지 이해가 되지 않습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순한 유저 제작 컨텐츠로 만들기엔 너무 아쉬운데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;그럴거면 챗지피티랑 대화하면 되는 거 아냐?&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라는 생각하시는 분들에게 스픽은 전혀 필요가 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대화 주제도 많고 아이디어가 넘쳐서 그냥 아무말이나 하면 되니까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 그렇게 하더라도 사실 영어를 잘하지 못하는 사람들이 쓰는 표현이나 영어로 대화하는 주제가 워낙 한정적이어서 장기적으로 학습할 의지가 있는 사람에게는 많이 아쉬울 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 어쨌든 올해 말까지는 서비스를 이용할 수 있으니 최대한 많이 발화해보며 연습할 생각이고..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 회사 복지가 추가되어서 월마다 영어 공부에 투자할 수 있는 비용이 생겼는데 이건 실제 사람과 대화하는 서비스에 투자해볼 생각입니다 ㅎㅎ&lt;/p&gt;</description>
      <category>후기</category>
      <category>Speak</category>
      <category>듀오링고 스픽</category>
      <category>스픽 헌드레드 클럽</category>
      <category>스픽 후기</category>
      <author>chanmuzi</author>
      <guid isPermaLink="true">https://chanmuzi.tistory.com/518</guid>
      <comments>https://chanmuzi.tistory.com/518#entry518comment</comments>
      <pubDate>Sun, 2 Mar 2025 00:45:49 +0900</pubDate>
    </item>
  </channel>
</rss>