josephjang

보이지 않는 효율성

Invisible Efficiencies (thediff.co)

Byrne Hobart의 뉴스레터에서 Invisible Efficiencies라는 흥미로운 글을 읽었다.

AI 시대가 되었지만, 그러한 성과가 GDP와 같은 경제지표로 나타나지 않는다는 기사가 간혹 보이곤 한다. 이 글에서는 기술을 통한 높아진 효율이 왜 측정되지 않을 수 있는지에 대해서 다루고 있다.

더 나은 진통제가 발명되었다면, 실제로 많은 사람들은 이를 통해서 생산성이 높아지겠지만, 그 결과는 노동 공급의 증가로 관찰될 것이고, 석유를 발견하는 효율적인 방법이 개발되었다면, 이것은 석유 공급량의 증가로 보일 것이라는 예시를 인용하고 있다. 즉, 실제로 효율성을 높이는 어떤 기술이 도입되었다고 하더라도, 그 결과는 효율성의 증가처럼 보이는 것이 아니라 (다른 요인에 의해서 영향 받을 수 있어서 마치 기술의 영향처럼 보이지 않을 수도 있는) 어떤 양의 증감으로 해석될 수 있다는 것이다. 결과적으로는 그 기술의 효율성은 보이지 않게 되는 것이다.

Let’s say someone invents a useful painkiller, and that makes it easier for many people to show up to work and be productive. Output will rise, yet that advance will show up as an increase in labor supply, rather than as an increase in technology or scientific knowledge. Similarly, a new method for discovering oil may boost output, but that will be classified as an increase in oil supply, even though it does properly represent a form of scientific progress.

기술 기업들에 관한 예시도 들고 있는데, Uber나 DoorDash는 원래라면 활용하기 어려운 노동력으로부터 가치를 생산하지만, 이는 노동 공급의 증가로 관찰된다. 또한 이러한 비즈니스의 결과로 발생하는 경제활동들이 있지만, 실제로 소비자의 효율성 증가 – 더욱 적은 시간을 운전하는 것 – 는 경제 관점에서 측정되지 않기 때문에, 생산성의 증가로는 관찰되지 않는다.

There are some companies whose economic impact is that they’ve unlocked a previously inaccessible cohort of workers. Uber and DoorDash have made it so that someone who can work in increments of a few hours at a time, with an unusual and inconsistent schedule, can still earn money. […]
[…] To the extent that users of these products are using some of their extra time to work, and are earning enough to justify it, there might be a marginal productivity impact. But again, it’s showing up in the wrong place: higher labor input gets measured, but less time spent driving to and from Chipotle in your own car is not part of measured economic output, so it won’t show up in productivity per hour.
None of this is truly a problem with GDP, since GDP does a surprisingly good job of what it’s trying to measure. But what it’s really trying to measure is the scope of the taxable economy; it’s impractical to assess a sales tax on the markup in value between a home-cooked meal and its ingredients. […]

따라서, 이 글에서는 효율성을 개선하는 기술에 의한 거시적인 생산성 향상의 증거를 찾으려고 할 때는 단순히 데이터를 보는 것이 아니라, 오히려 각각의 사안을 자세히 들여다봐야 한다고 결론짓고 있다. 만약 제품이 편리하고 누군가가 그 제품을 통해서 – 생산성 향상분의 일부에 해당한다고 생각할 수 있는 – 돈을 벌고 있는 동시에, 모두가 이익을 얻고 있는 상황이라면, 데이터로 관찰이 되지 않더라도 생산성 향상이 있다고 판단할 수 있다는 아이디어를 제시하고 있다.

[…] So if you’re looking for broad-based productivity gains from the deployment of efficiency-improving technologies, focus on anecdotes over data: if the product is convenient, and someone’s making money from it, then there are two possibilities: either it’s unsustainable because one or more participants are getting a bad deal, or it’s a productivity gain in disguise.

이 글은 경제적인 데이터나 지표의 한계에 대해서 논하고 있지만, 좀 더 일반화를 해 볼 여지는 있는 것 같다. 효율성 개선에 따른 생산성 향상을 찾으려고 할 때, 깊은 고민 없이 거시적인 데이터나 기준을 사용하는 경우가 있을 수 있다. 그러한 데이터나 기준에 실질적인 효율의 개선이 포함되지 않을 수 있다는 가능성을 항상 유념해야 한다. 그러한 경우에는 효율의 개선이 실제로 존재하는지 개별 사안을 분석해보되, 이를 다시 데이터나 기준에 포함시킬 수 있는 방법을 고민하는 과정이 필요해 보인다.

보이지 않는 효율성 더 읽기"

LLM과 Autonomous Agent에 대한 단상

The image is captured from Andrew Ng’s talk: What’s next for AI agentic workflows.

최근에 지인들이 모인 디스코드에서 얘기했던 생각들을 퇴근길에 정리해봤다.

1. LLM에 컴퓨팅과 데이터를 때려넣으면 성능이 올라가는 것에 대해 한계효용 체감이 있을 것이라는 얘기는 계속 있어왔고, 그러한 경쟁조차도 치열한 접전이 되었다. 이번에 GPT-4o의 초점이 달라진 것을 보면 그러한 상황을 반영한 것이 아닌가 싶기도 하다. (이러고나서 GPT-5가 짜잔하고 나올 수도 있지만…)

2. Auto-Regressive LM의 본질 상 planning과 reasoning에 한계로 인해 현재의 기술만으로 singularity는 달성되지 않을 듯하다.

3. 치열한 경쟁으로 인해 LLM weights와 fine tuning 도구들은 commodity가 되었다.

4. 현재 ChatGPT 등은 스마트한 information retrieval 도구이고 엔터프라이즈에서 이러한 일을 대신 해주는 회사들도 많다.

5. 우리의 일을 최소한의 관여로 대신해주는 것에 관한 것은 아직 충분한 성과가 보이지 않는 것 같다.

이러한 상황으로 볼 때는 특정한 영역에 대해 autonomous agent를 구축하는 것에 대해 좀 더 많은 투자가 이루어져야 할 것 같다. 현재의 LLM capability와 실제 세상과 연결하기 위한 복잡다단한 엔지니어링, 요소마다 최적화하기 위한 모델들을 조합하고 제품 다듬기에 충분한 노력을 기울이면, 어떤 영역의 일반 작업들에서는 충분한 매력이 있는 제품을 얻을 수 있을 것 같다.

물론 이러한 생각을 하는 사람들(예를 들어 Andrew Ng의 agentic workflow)과 스타트업들(코딩을 완전 자동화했다는 주장..)은 이미 엄청나게 많을 것으로 예상된다.

이러한 소프트웨어를 빌드해서 실제로 돈을 벌 수 있을지에 대해서는 굉장히 의문스럽고, 아마도 실패할 수도 있고 매우 힘들겠지만, 그래도 빌드하는 과정은 인생을 한번 걸어보고 싶을 정도로 재미있을 것 같기는 하다.

LLM과 Autonomous Agent에 대한 단상 더 읽기"

CS234 Reinforcement Learning 15-16강

CS234의 마지막 강의인 15-16강을 들었습니다.

15강에서는 High-confidence Off-Policy Evaluation이라는 (아마도 교수님의 연구실에서 다뤘던 토픽인) 최근의 연구 결과를 다루고 있는데, 대략 새로운 policy의 expected return의 lower confidence bound를 계산함으로써 monotonic improvement를 일정 수준으로 보장하는 학습의 안전성을 얻기 위한 방법이라고 볼 수 있을 것 같습니다. 기초를 배우는 입장이라서 대충 이런게 있구나 하고 넘어갔습니다.

16강에서는 Monte-Carlo Search Tree에 대해 다루고 있습니다. 우리가 흔히 알고 있는 게임 트리와는 달리, 전체 스페이스를 탐색하는 것이 아니라, 일정 수의 시뮬레이션만을 수행하고, 일부 트리에 해당하는 이 데이터를 기반으로 결정을 내립니다. 또한, UCB1과 마찬가지로, upper confidence bound를 적용해 액션을 결정하여 exploration/exploitation을 수행합니다 (UCT). 결과적으로는 마치 UCB1이 적용된 MAB를 각 node마다 실행하는 느낌입니다. MCTS는 이 이름을 가지기 전부터 바둑에서의 강력함을 증명해오다가 DNN을 접목한 AlphaGo에까지 적용되었습니다. MCTS의 주요 페이퍼들과 AlphaGo에 관련한 페이퍼들을 읽어볼 생각입니다.

이로서 1월 중순 무렵에 시작했던 CS234 Reinforcement Learning 강의와 이에 관련한 Sutton & Barto 책을 통한 공부를 마쳤습니다. 주요 RL 알고리즘을 구현해보는 동시에, 공부를 시작할 때 사둔 Foundations of Deep Reinforcement Learning을 읽어볼 생각인데, 효과적인 학습을 위해 다른 토픽으로 1-2달 정도 넘어갔다가 진행해 볼 생각입니다.

CS234 Reinforcement Learning 15-16강 더 읽기"

상처에 대한 생각을 버리기

누군가나 주어진 상황 때문에 상처를 받았다고 피해를 입었다고 그 생각에 사로잡혀 있기에는 인생은 너무 짧다. 설령 상처나 피해를 입었다고 하더라도 거기에 계속 머물게 하는 것은 내 생각 때문이다. 그런 생각을 의도적으로 버리려고 노력한다면 하루라도 아까운 삶을 좀 더 의미있게 누리는데에 도움이 될 것이다.

상처에 대한 생각을 버리기 더 읽기"

CS234 Reinforcement Learning 11-13강

Exploration을 다루는 CS234 11-13강을 들었습니다.

우선 MDP에 비해 상대적으로 단순한 multi-armed bandits 문제와 regret과 같은 framework의 formulation으로 시작합니다.

이어서, 불확실한 상황에서 탐색을 통한 정보를 얻는 것의 가치를 높게 보는 Optimism in the face of Uncertainty 원리로부터 UCB1 알고리즘을 설명합니다. UCB 알고리즘들은 여러 경로로 접해왔지만, 이러한 원리 하에서 이해하게 된 것은 처음입니다. 또한, 각 arm들을 확률변수로 보고 Hoeffding’s Inequality를 통해 모르는 정보들을 제거하고 UCB1 알고리즘을 유도하는 과정도 꽤 흥미로웠습니다.

다음으로 reward distribution에 대해 Bayesian inference를 이용하는 Bayesian Bandits을 배우게 됩니다. Bayesian inference는 분석적으로 계산하기 까다로운데 conjugate prior를 통해서 이를 가능하게 하는 것도 처음으로 알게되었습니다. Bayesian bandits 하에서 Probability matching 접근을 하는 대표적인 알고리즘으로 Thomson Sampling이 다루어집니다. Thomson Sampling 알고리즘에서는 posterior로부터 sampling을 하고 이에 기반해 action을 결정하고, 이에 따른 reward를 다시 posterior에 반영하는 단순한 휴리스틱으로 되어있는데, 경험적으로 매우 잘 동작한다고 하네요.

마지막으로 PAC (Probably Approximately Correct) 개념과 이에 해당하는 알고리즘을 배웁니다. Supervised Learning에서와 비슷하게, 일정 이상의 확률로 optimal value로부터 일정 이하의 차이가 보장되는 것을 말합니다. 이러한 알고리즘의 예로 MBIE-EB를 들고 있고 어떤 RL 알고리즘이 PAC을 만족하기 위한 조건들도 다룹니다.

이번에는 강의도 쉽지 않았고 Bayesian Inference에 대해 정확하게 이해하기 위해 별도로 공부를 해야만 했습니다. exploration 방법들을 MDP에 적용하는 내용도 있었지만 이번에는 skip했습니다. 이번에 배운 내용들을 Bandit Algorithms 책과 인터넷에서 다시 한번 복습을 해보고 나머지 강의들을 들을 예정입니다.

CS234 Reinforcement Learning 11-13강 더 읽기"

자신의 기준으로 단호하게 얘기하기

엔지니어링 문제든 매니지먼트 문제든 단편적인 인상에 기초해서 판단내리는 것을 경계하고 판단의 기준을 설정하고 이에 따라 기계적으로 판단을 내리려 노력하는 편이고, 또 그러한 것을 좋아한다. 그럼에도 불구하고 나의 내면 또는 다른 사람으로부터 기원한 강력한 인상이나 직관이 동작할 때, 특히 그것들이 나의 논리나 증거들과 다를 때는, 그것에 일말의 진실이 있을 수도 있지 않을까 자주 의심하게 된다. 이로 인해서 내 생각 내에서도 객관적인 판단이 흐려지는 경우도 가끔씩 있는 것 같다. 현실은 이보다는 복잡하기는 하지만… 단호하게 나의 논리와 증거 기준에 따라서 이야기하는 것이 중요해보인다.

자신의 기준으로 단호하게 얘기하기 더 읽기"

다른 사람의 평가를 받아들이기

심지어 정중하게 표현되었더라도 다른 사람의 평가에 대해 실제에 비해서 너무 무게를 실을 필요는 없다. 다른 사람의 관점에서 다른 사람의 가치에 의한 평가이기 때문에 나의 가치와는 다를 수 있다. 어떻게 표현되었는가와 관계없이 말 한마디가 가진 정당한 가치로 평가하고 이에 대해 내가 변화가 필요한지 어떤 변화가 필요한지만 정하면 된다. 다른 사람의 한마디 평가, 그에 따라 주어진 보상이나 지위는 일시적이고, 내가 본질적으로 올바른 행동을 하는가 또는 내가 그로 인해 행복한가와는, 길게 보면, 생각보다 그리 관련성이 없다.

다른 사람의 평가를 받아들이기 더 읽기"

CS234 Reinforcement Learning 9-10강

Policy Search를 다루는 CS234 Reinforcement Learning 9-10강을 들었습니다.

9강은 Sutton Chapter 13에서도 다루고 있는 REINFORCE with baseline에 관한 내용입니다. 10강에서는 이러한 Policy Gradient method에서 monotonic improvement를 보장하기 위해서 step size를 결정하는 문제를 다룹니다. 여기서 매우 유명한 TRPO (Trust Region Policy Optimization) 알고리즘에 이르는 과정을 배우게 됩니다. Policy gradient의 iteration에서 새로운 policy의 value를 알 수는 없지만, lower-bound를 계산할 수 있고, 이러한 lower-bound가 개선되는 것을 보장할 수 있는 objective function과 constraint를 제안합니다. 이를 통해서 policy value를 최대화하면서 안정적인 학습이 이루어질 수 있도록 step size를 결정하는 알고리즘이 TRPO 알고리즘입니다.

계산이 어려운 문제를 계산 가능한 문제로 전환하고 이로부터 실용적인 알고리즘을 제안하는 과정이 ‘아름답다’고 밖에는 말할 수 없는 흥미로운 토픽이었습니다.

CS234 Reinforcement Learning 9-10강 더 읽기"

Reinforcement Learning by Sutton & Barto Chapter 13

RL Introduction Chapter 13 Policy Gradient Methods를 읽었습니다.

Value function을 approximation해서 optimal policy를 찾아내는 접근과 달리, parametrized policy를 정의하고, parameter에 대한 policy performance의 gradient를 통해 optimal policy를 직접 찾아내는 방법입니다.

Policy Gradient Theorem에 기초해서 REINFORCE라는 알고리즘을 얻는 과정을 설명하고, variance를 줄이기 위해 baseline을 도입한 REINFORCE 알고리즘을 얻는 과정도 배울 수 있었습니다.

이어서 Actor-Critic method도 소개하는데 REINFORCE with baseline 알고리즘에서 baseline으로 state-value function을 사용해서 action의 결과를 평가하기 위한 기준 역할을 합니다. state-value function은 semi-gradient TD를 통해서 학습하고, REINFORCE 알고리즘에 자연스럽게 통합될 수 있습니다.

Policy Gradient Method들은 stochastic한 policy를 자연스럽게 학습할 수 있고, exploration을 얼마나 할지도 학습할 수 있는 장점이 있습니다. 또한, action space가 연속적일 때도 적용할 수 있습니다.

이 책에서 다루는 전통적인 RL 방법들에 대해서는 어느 정도 기초가 마련된 것 같고, 당장은 CS234 강의를 마저 듣고, 그 다음에는 Deep Reinforcement Learning 방법을 공부하기 위한 책으로 넘어가볼까 합니다.

Reinforcement Learning by Sutton & Barto Chapter 13 더 읽기"

Hard Things: 불확실성

올해의 방향성을 논의하면서 여러가지 사업 기회나 제품의 방향성에 관한 아이디어들이 다루어진다. 어떤 것들은 새로운 것이 아니고 오랫동안 논의되어오고 그동안 중요하게 고려되어온 것들도 있다. 하나하나의 아이디어들을 보면 모두 좋은 기회들과 고객에게 전할 수 있는 가치들이 숨어있다.

이어서 얼마나 많은 자원이 투입되어야 하는가, 이를 둘러싼 비즈니스 환경이 어떠한가, 마일스톤 내에 가능한가와 같은 의견들이 개진된다. 물론, 여러가지 어려움이 있지만, 그러한 어려움을 헤쳐나간다는 가정 하에 어떤 것들은 실행가능해보인다. 어떤 것들은 그렇지 않다. 추가적인 투자가 필요하거나, 마일스톤 내에 성공이라고 부를만한 충분한 진척을 내기 어렵거나, 결코 녹록치 않은 경쟁 환경인 경우들이다.

그러한 기준들을 통과한 아이디어들에 대해서, 마지막으로 매우 구체적인 숫자로 표현된 회사 목표를 달성할 수 있는지를 검토한다. 여기서 많은 아이디어들은 ‘불확실’하다. 아마 누구라고 하더라도, 어떠한 사업이나 제품 방향성이 완벽하게 실행이 되었을 때, 100%의 확률로 구체적인 기한 내에 구체적인 매출이나 이익을 낼 수 있을거라고 장담하기 어렵다. 실은 50%의 확률로 그러하다고 장담하는 것도 쉽지는 않다.

자리로 돌아와서 모호하게 표현된 가능성에 대한 의견들을 수치화할 수 있는 방법에 대해서 생각한다. 구체적인 숫자로 표현된 회사 목표에 대해 잠시 눈을 감을 수는 없는가 생각을 한다. 좋은 아이디어들은 많이 있다. 분명히 회사의 가치에도 제품의 품질이나 고객의 만족에도 도움이 될 것이다. 구체적인 숫자는 잠시 무시하고 가장 커다란 가치를 줄 수 있는 것에 ‘도전’할 수는 없나 생각을 한다. 하지만, 곧이어 짧은 기간의 성공 가능성도 확신할 수 없다면, 어떻게 장기적인 성공 가능성에 주어진 자원을 모두 투자할 수 있는지, 또한 장기에 걸친 실행 자체도 구체적으로 표현된 마일스톤 없이는 위태로운 것이 아닌가 하는 생각으로 이어진다.

어렵다. 아마도 모든 회사의 대부분의 사업 기회들과 제품 아이디어들은 그러할 것이다. 기회들과 아이디어들은 대개 제어할 수 없는 요인들과 불확실성을 가지고 있다. 훌륭한 아이디어처럼 보이는 것들에 대해서 얘기하는 것도 그에 대해서 동의하는 것도 쉬운 일이다. 하지만, 실제로 그 훌륭하다고 말하는 아이디어에 가장 중요한 무언가를 걸고 헌신하는 것은 완전히 다른 문제이고 어려운 일이다.

그러한 불확실성 속에서 가장 좋은 결정을 할 수 있는 능력 만큼이나 용기도 중요한 것 같다. 어쩌면 그 둘은 같은 것일지도 모른다.

Hard Things: 불확실성 더 읽기"