그토록 오만해보일 정도로 원리와 환원 가능성에 집착하는 것은, 그들이 지적으로 오만해서라기 보다는, 자연은 아주 기본적인 원리 (first principle) 들의 논리적 조합과 자체적인 일관성을 지키면서 완성된 무결점의 시스템이라고 믿기 때문일 것입니다. 그래서 그렇게 자연의 법칙 (law)에 대해 집착을 하는 것일 수도 있고, 내적으로는 그 법칙을 무너뜨리는 혹은 반증할 수 있는 현상이 나오기만을 고대하는 것일지도 모르겠습니다. 그렇지만 이미 100년이 넘은 아인슈타인의 상대성이론을 혁파하거나 반증할 수 있는 현상이나 증거는 아직까지도 관측된 바가 없습니다. 그래서 물리학자들은 기존의 이론에 도전하는 것 자체를 환영하지만, 그 결과를 결코 쉽게 믿지 않는 것이기도 합니다. 최근에 화제가 되고 있는 상온-상압 초전도체 역시 많은 물리학자들은 겉으로는 신기하다 생각할지 모르겠습니다만, 속으로는 대부분 받아들이기 어렵다는 생각을 하고 있을 것입니다. 대부분의 물리학자들에게, 자연을 설명하는 이론은 간명해야 하고, 수학적으로 아름다워야 하며, 기존의 이론을 다른 차원에서 들여다 보더라도 어느 순간에는 수렴해야 하고, 기존의 이론이 설명하지 못 하는 현상을 무리한 가정 없이 설명할 수 있어야 합니다. 심지어 아직 보고되지 않거나 발견되지 않은 현상에 대해 예측도 할 수 있어야 합니다. 그래야 제대로 된 이론으로 인정받을 수 있습니다. 물론 그러한 이론이라고 해서 무조건 자연 법칙으로 발전할 수 있는 것이 아님은 잘 아실 것입니다. 아무리 아름답고 내적으로 정합성이 있는 이론이더라도, 실험적 증거가 충분히 뒷받침되지 않으면 결국 생명력을 잃기 때문입니다. 그래서 물리학은 이론에 대한 추구와 동시에, 무지막지할 정도로 정밀함과 정확함에 집착하여 실험을 추구하는 것이기도 할 것입니다.
명상을 비롯하여, 종교인들이나 도인들, 무속인들을 포함하여, 초월적 상태라는 것이 과학의 영역으로 들어오게 된다면, 좁게는 뇌과학의 한 영역에서 검토를 거쳐야 하겠지만, 장기적으로는 이러한 아주 기본적인 physical science의 first principle 과도 결국 정합성이 검토되어야 자리를 잡을 수 있을 것이라 생각합니다. 우리가 흔히 이야기하는 생명과학 역시, 생명과학 자체의 원리나 이론이 잘 정립되어 있습니다. 그렇지만 그 이면에는 다시 생명 현상을 구성하는 물질을을 더 단순한 유닛인 분자, 원자, 나아가 양성자나 전자, 필요하다면 더 작은 스케일의 기본 입자로까지 환원하여 그들의 상호작용에 대한 이해를 추구하는 이론으로의 회귀가 있다고 생각합니다. 대표적인 분야가 분자생물학일 것입니다. 뇌과학의 분야가 워낙 다양하고, 심리학, 의학, 생명과학, 전자공학, 심지어 물리학의 각 영역에서 다양하게 접근하는 경로가 광범해서인지, 명상에 대한 논의 역시 다양한 학문적 배경을 가지신 분들이 새로운 아이디어로 접근하시고 있고, 저는 그러한 접근이 이러한 논리적 정합성과, 최종적으로는 first principle 로의 회귀를 모색하고 있다면 그 자체로 충분히 시도될 수 있는 정상 과학의 범주가 될 것이라 생각합니다. 그렇지만 그것을 어떤 식으로든 회피하고, 불리한 부분은 두루뭉술하게 넘어가며, 동시에 기존의 학문에서 잘 정립된 개념과 이론을 제멋대로 가져다 쓰면서도 그 결과에 대해 회피하는 양상을 보이게 되면 결국 스스로 정상 과학에서의 퇴출을 시도하는 셈이 될 것이라 생각합니다. 개인적으로는 명상이 그러한 길을 가지 않았으면 좋겠지만, 만약 그렇게 될 것 같다면 굳이 정상 과학의 영역으로 들어와서 고생하지 않았으면 좋겠습니다. 세상의 모든 활동이나 인간의 즐거움이 다 과학 안에 들어와서 환원의 고통을 겪을 필요는 없다고 생각하기 때문입니다.
"다만 이런 research가 이미 2000년대 초반에 나왔는데 그 뒤로 sensational하게 실제 많은 사람들의 건강을 바꿔 오지 않아서 이에 대한 문제 제기가 되는 거 같기는 합니다. 요는 Small population에서 효과가 있다는 cross sectional study 가 random polulation 에 적용되는 지 에 대한 실험들이나 broad spectrum analysis 들이 필요할 거 같은데요. 효과라는 게 일부 사람들에게 효과가 있지 모든 사람 혹은 significant population에게 효과가 있는지가 궁금해 지네요. 결국 명상이 모두에게 맞는지가 맞냐라는게 있는데 일부 약도 small population에 효과가 있는데도 모두에게 효과가 없는 경우도 꽤 되는 걸로 알고 있습니다. 교수님이 말씀 하신 거 처럼 나한테 효과 없다 혹은 나는 못하겠다 라는 게 꽤 많다는 점이 있는 거 같습니다.
반면 Cognitive Behavior Therapy 쪽에서는 mindfulness 라 하여 특정 명상 일부나 호흡의 극소 일부만 바탕으로 exercise 형식으로 만들어 clinical study 를 꽤 반복적으로 한것으로 알고 있는 걸로 알고 있습니다. 그래서 느낌적으로는 어느정도 증명이 되었다는 생각이 있는데 저도 뇌알못이라 가설일뿐 더 찾아봐야 겠습니다.
간단히 찾아봐도 초보자 novice 대상으로 3시간 meditation에 대한 효과도 입증하려 노력 하려 했기에 많은 연구들이 되고 있는 거 같긴 합니다."
라는 부분도 살펴 보겠습니다. 이 말씀에 대한 제 의견 역시 위에 제가 장광설을 늘어 놓은 부분에서 확인하실 수 있을 것이라 생각합니다. 간단한 요약만 말씀드리면, 말씀하신 것처럼 아직 first principle 로 가기 전 단계인 evidence confirmation 단계부터 여전히 교통정리가 불확실한 상황이고, 그래서 연구자나 그것을 취사선택하여 받아들이는 일반 대중이나 모두 혼란스러운 상황인 것 같기는 합니다. 말씀하신 인지과학 영역에서도 clinical treatment 관점에서, causality 를 분석하고 또 여러 메커니즘을 제시하고 있는 것으로 알고 있습니다만, 문제는 그 메커니즘 자체가 너무 많은 층위의 principle 섞여 있다는 것입니다. 이렇게 층위가 정리 안 된 상태에서 섞이면 반드시 그 안에서의 내적 consistency가 붕괴되는 지점이 생기고, 이것은 그 모형의 모순을 발현시키기 때문에, 그러한 설명은 필히 퇴출될 수 밖에 없습니다. 물리학이 겪은 모든 과학적 이론 정립 과정의 시행착오가 지금 명상을 둘러싼 학문적 struggling에서도 반복되고 있다고 보여지고, 저는 그 과정을 잘 거쳐서 명상이 과학의 영역으로 들어오든, 아니면 과학의 영역으로 들어올 필요가 없다고 결론이 나오든, 잘 정리되기를 바랄 뿐입니다.
여러모로 생각할 거리를 공유해 주셔서 감사드리고, 저도 물리학의 좁은 영역, 소재과학의 협소한 시각에만 갇혀있지 않고 다른 분야의 노력과 학문적 성과에 대한 관심을 조금 더 폭넓게 가져가려 합니다. 감사합니다.
=========================
ps) 이 대화에 대한 의견 있으시면 언제든 환영합니다.
명상을 비롯하여, 종교인들이나 도인들, 무속인들을 포함하여, 초월적 상태라는 것이 과학의 영역으로 들어오게 된다면, 좁게는 뇌과학의 한 영역에서 검토를 거쳐야 하겠지만, 장기적으로는 이러한 아주 기본적인 physical science의 first principle 과도 결국 정합성이 검토되어야 자리를 잡을 수 있을 것이라 생각합니다. 우리가 흔히 이야기하는 생명과학 역시, 생명과학 자체의 원리나 이론이 잘 정립되어 있습니다. 그렇지만 그 이면에는 다시 생명 현상을 구성하는 물질을을 더 단순한 유닛인 분자, 원자, 나아가 양성자나 전자, 필요하다면 더 작은 스케일의 기본 입자로까지 환원하여 그들의 상호작용에 대한 이해를 추구하는 이론으로의 회귀가 있다고 생각합니다. 대표적인 분야가 분자생물학일 것입니다. 뇌과학의 분야가 워낙 다양하고, 심리학, 의학, 생명과학, 전자공학, 심지어 물리학의 각 영역에서 다양하게 접근하는 경로가 광범해서인지, 명상에 대한 논의 역시 다양한 학문적 배경을 가지신 분들이 새로운 아이디어로 접근하시고 있고, 저는 그러한 접근이 이러한 논리적 정합성과, 최종적으로는 first principle 로의 회귀를 모색하고 있다면 그 자체로 충분히 시도될 수 있는 정상 과학의 범주가 될 것이라 생각합니다. 그렇지만 그것을 어떤 식으로든 회피하고, 불리한 부분은 두루뭉술하게 넘어가며, 동시에 기존의 학문에서 잘 정립된 개념과 이론을 제멋대로 가져다 쓰면서도 그 결과에 대해 회피하는 양상을 보이게 되면 결국 스스로 정상 과학에서의 퇴출을 시도하는 셈이 될 것이라 생각합니다. 개인적으로는 명상이 그러한 길을 가지 않았으면 좋겠지만, 만약 그렇게 될 것 같다면 굳이 정상 과학의 영역으로 들어와서 고생하지 않았으면 좋겠습니다. 세상의 모든 활동이나 인간의 즐거움이 다 과학 안에 들어와서 환원의 고통을 겪을 필요는 없다고 생각하기 때문입니다.
"다만 이런 research가 이미 2000년대 초반에 나왔는데 그 뒤로 sensational하게 실제 많은 사람들의 건강을 바꿔 오지 않아서 이에 대한 문제 제기가 되는 거 같기는 합니다. 요는 Small population에서 효과가 있다는 cross sectional study 가 random polulation 에 적용되는 지 에 대한 실험들이나 broad spectrum analysis 들이 필요할 거 같은데요. 효과라는 게 일부 사람들에게 효과가 있지 모든 사람 혹은 significant population에게 효과가 있는지가 궁금해 지네요. 결국 명상이 모두에게 맞는지가 맞냐라는게 있는데 일부 약도 small population에 효과가 있는데도 모두에게 효과가 없는 경우도 꽤 되는 걸로 알고 있습니다. 교수님이 말씀 하신 거 처럼 나한테 효과 없다 혹은 나는 못하겠다 라는 게 꽤 많다는 점이 있는 거 같습니다.
반면 Cognitive Behavior Therapy 쪽에서는 mindfulness 라 하여 특정 명상 일부나 호흡의 극소 일부만 바탕으로 exercise 형식으로 만들어 clinical study 를 꽤 반복적으로 한것으로 알고 있는 걸로 알고 있습니다. 그래서 느낌적으로는 어느정도 증명이 되었다는 생각이 있는데 저도 뇌알못이라 가설일뿐 더 찾아봐야 겠습니다.
간단히 찾아봐도 초보자 novice 대상으로 3시간 meditation에 대한 효과도 입증하려 노력 하려 했기에 많은 연구들이 되고 있는 거 같긴 합니다."
라는 부분도 살펴 보겠습니다. 이 말씀에 대한 제 의견 역시 위에 제가 장광설을 늘어 놓은 부분에서 확인하실 수 있을 것이라 생각합니다. 간단한 요약만 말씀드리면, 말씀하신 것처럼 아직 first principle 로 가기 전 단계인 evidence confirmation 단계부터 여전히 교통정리가 불확실한 상황이고, 그래서 연구자나 그것을 취사선택하여 받아들이는 일반 대중이나 모두 혼란스러운 상황인 것 같기는 합니다. 말씀하신 인지과학 영역에서도 clinical treatment 관점에서, causality 를 분석하고 또 여러 메커니즘을 제시하고 있는 것으로 알고 있습니다만, 문제는 그 메커니즘 자체가 너무 많은 층위의 principle 섞여 있다는 것입니다. 이렇게 층위가 정리 안 된 상태에서 섞이면 반드시 그 안에서의 내적 consistency가 붕괴되는 지점이 생기고, 이것은 그 모형의 모순을 발현시키기 때문에, 그러한 설명은 필히 퇴출될 수 밖에 없습니다. 물리학이 겪은 모든 과학적 이론 정립 과정의 시행착오가 지금 명상을 둘러싼 학문적 struggling에서도 반복되고 있다고 보여지고, 저는 그 과정을 잘 거쳐서 명상이 과학의 영역으로 들어오든, 아니면 과학의 영역으로 들어올 필요가 없다고 결론이 나오든, 잘 정리되기를 바랄 뿐입니다.
여러모로 생각할 거리를 공유해 주셔서 감사드리고, 저도 물리학의 좁은 영역, 소재과학의 협소한 시각에만 갇혀있지 않고 다른 분야의 노력과 학문적 성과에 대한 관심을 조금 더 폭넓게 가져가려 합니다. 감사합니다.
=========================
ps) 이 대화에 대한 의견 있으시면 언제든 환영합니다.
[RWA 시장이 열리고 있다, B2C 서비스가 아니라 몰랐을 뿐!(Feat. 메이커다오는 이미 절반의 수익을 RWA에서 벌고 있음)]
- 많은 대형 기관들이 RWA(Real-world asset)*의 토큰화를 추진하거나 관련 시장에 진입하고 있음. 디파이 수익률의 하락과 기준 금리 상승으로 토큰화된 국채에 대한 투자가 증가하며 RWA에 대한 관심이 높아졌기 때문(현재 6억달러 이상의 미국 국채가 토큰화되어 투자자들에게 연 4.2%의 이자를 지급 중)
- 토큰화된 RWA 규모는 22년 3,100억달러에서 30년 16조달러까지 성장할 것으로 전망됨. 이 시장을 공략하기 위해 MakerDAO, Maple Finance 등 다수의 프로토콜들이 RWA를 접목하고 있음
- 아직까지는 B2B를 중심으로 시장이 돌아가고 있지만, 조만간 개인들의 참여 기회도 늘어날 것. 금융 산업이 대표적인 규제 산업이라 개인들이 다른 국가의 상품 투자하기 어려운데 RWA는 온체인 네트워크만 접속되면 편리하게 투자할 수 있음
(*) RWA란?
: 현실 세계의 오프체인 자산(부동산, 원자재, 미술품 등 유형자산과 주식, 채권, 탄소배출권 등 무형자산)을 블록체인으로 올리는 것. 이를 통해 더 효율적이고, 투명하고, 휴먼에러를 줄일 수 있음
: RWA의 토큰화를 위해서 '기획->구조화->청약->민팅/분배->2차거래->만기상환'의 과정을 거침
더보기: https://research.binance.com/en/analysis/industry-map-mar23
https://research.binance.com/en/analysis/industry-map-mar23
- 많은 대형 기관들이 RWA(Real-world asset)*의 토큰화를 추진하거나 관련 시장에 진입하고 있음. 디파이 수익률의 하락과 기준 금리 상승으로 토큰화된 국채에 대한 투자가 증가하며 RWA에 대한 관심이 높아졌기 때문(현재 6억달러 이상의 미국 국채가 토큰화되어 투자자들에게 연 4.2%의 이자를 지급 중)
- 토큰화된 RWA 규모는 22년 3,100억달러에서 30년 16조달러까지 성장할 것으로 전망됨. 이 시장을 공략하기 위해 MakerDAO, Maple Finance 등 다수의 프로토콜들이 RWA를 접목하고 있음
- 아직까지는 B2B를 중심으로 시장이 돌아가고 있지만, 조만간 개인들의 참여 기회도 늘어날 것. 금융 산업이 대표적인 규제 산업이라 개인들이 다른 국가의 상품 투자하기 어려운데 RWA는 온체인 네트워크만 접속되면 편리하게 투자할 수 있음
(*) RWA란?
: 현실 세계의 오프체인 자산(부동산, 원자재, 미술품 등 유형자산과 주식, 채권, 탄소배출권 등 무형자산)을 블록체인으로 올리는 것. 이를 통해 더 효율적이고, 투명하고, 휴먼에러를 줄일 수 있음
: RWA의 토큰화를 위해서 '기획->구조화->청약->민팅/분배->2차거래->만기상환'의 과정을 거침
더보기: https://research.binance.com/en/analysis/industry-map-mar23
https://research.binance.com/en/analysis/industry-map-mar23
Binance
Navigating Crypto: Industry Map
An overview of different verticals in crypto
Forwarded from 전종현의 인사이트
AI will automate 25-50% of white collar work including data analysis. Does that will data teams shrink in size?
On the contrary, while AI can automate some work, it will also demand much more from data teams.
Typical tasks - writing SQL & charting data - will become mostly automated. This ease of use will enable data teams to focus elsewhere : on the sea of demand for data coming from the edges of the company.
AI will infuse marketing, sales, customer support, product, & engineering in new ways - nearly all of it requiring data to deliver cost savings & productivity boosts.
The data team will bear the responsibility of providing the data, validating it, & ensuring that it meets both internal & external standards/compliance.
Data teams will become important contributors in software procurement. As departments evaluate new AI tooling, data teams will validate the approaches & the models to ensure they work as promised.
After deployment, data teams may be responsible for tuning & optimizing different AI features enabled by AI-infused software applications. Data teams will debug applications with models, unearthing challenges with them such as which training data is required to supplement a model & providing that data.
AI will exert greater demands on data teams. They will operate at a greater layer of abstraction. But more people will be needed to staff the pipelines & monitor the models that will power business systems.
On the contrary, while AI can automate some work, it will also demand much more from data teams.
Typical tasks - writing SQL & charting data - will become mostly automated. This ease of use will enable data teams to focus elsewhere : on the sea of demand for data coming from the edges of the company.
AI will infuse marketing, sales, customer support, product, & engineering in new ways - nearly all of it requiring data to deliver cost savings & productivity boosts.
The data team will bear the responsibility of providing the data, validating it, & ensuring that it meets both internal & external standards/compliance.
Data teams will become important contributors in software procurement. As departments evaluate new AI tooling, data teams will validate the approaches & the models to ensure they work as promised.
After deployment, data teams may be responsible for tuning & optimizing different AI features enabled by AI-infused software applications. Data teams will debug applications with models, unearthing challenges with them such as which training data is required to supplement a model & providing that data.
AI will exert greater demands on data teams. They will operate at a greater layer of abstraction. But more people will be needed to staff the pipelines & monitor the models that will power business systems.
Continuous Learning_Startup & Investment
AI will automate 25-50% of white collar work including data analysis. Does that will data teams shrink in size? On the contrary, while AI can automate some work, it will also demand much more from data teams. Typical tasks - writing SQL & charting data…
This is possible, but will only happen when the work of data analysts doesn't involve figuring out which data to use, where the data is located, where it's coming from, why the same column is present in 4 different databases each with different numbers, what it means semantically, how it's changed over time, wading through all the gotchas and layers of filters in SQL, going back and forth with engineering because there's no documentation, then wrapping all that context in a pretty bow and communicating it to stakeholders.
Writing SQL and creating charts is by far the easiest 10% of an analyst's job. The other 90% is a thankless grind chopping through an ever-growing jungle of data debt. Unless THAT problem is solved, anything AI can do is just putting lipstick on a pig.
Writing SQL and creating charts is by far the easiest 10% of an analyst's job. The other 90% is a thankless grind chopping through an ever-growing jungle of data debt. Unless THAT problem is solved, anything AI can do is just putting lipstick on a pig.
https://rosinality.github.io/2021/05/%EB%A8%B8%EC%8B%A0-%EB%9F%AC%EB%8B%9D-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%EC%84%9C-%EC%84%A4%EC%A0%95-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/
과거에도 쓴 글이 있는데, 여하간 머신 러닝을 위한 프레임워크, 구체적으로는 계속해서 실험을 하기 위한 프레임워크에서 가장 중요한 것 중 하나가 설정 관리라고 생각한다. 실험을 계속하다 보면 정말 온갖 곳에서 수정이 필요한 경우들이 생기고 (데이터소스, 데이터셋과 구조, 모델 구조, 학습 루프 등등등...) 그런 잠재적인 수정에 대해서 열려 있는 코드가 필요하다. 꼭 이런 모든 잠재적인 수정을 미리 예측해서 추상화한다기보다도, 수정이 필요해졌을 때 큰 부수효과나 자잘한 작업 없이도 수정할 수 있는가 하는 것이 중요한 부분이다.
그리고 이런 유연성에서 가장 기본적이면서도 큰 도움이 되는 것이 설정 파일이다.
사실 설정 파일 포맷 자체도 유의미한 차이를 만들어내지만 (예를 들어 여러 설정 파일을 조합할 수 있는가 등) 그보다는 설정 파일을 어떻게 사용하는가 하는 것이 중요하다 할 수 있겠다. 어쨌든 설정 파일은 그 형식이 어떻건 원칙적으로는 값의 나열이라는 점에서는 동일하므로.
예를 들어, 트랜스포머의 feedforward의 activation 함수를 바꾸고 싶다고 하자. 그렇다고 하면 보통 어떻게 할까? 가장 기본적으로는 if를 사용하는 것이다.
if conf.model.activation == 'relu':
activation = nn.ReLU()
흔히 쓰이는 방법이지만 두 가지 문제가 있다. 새로운 activation 함수를 추가하고 싶다면 이 if 문이 있는 곳까지 이동해서 새로운 조건을 추가해야 한다. 거기다 ReLU 같은 경우 특별한 파라미터가 없어서 간단하지만 LeakyReLU 같이 추가 파라미터가 필요하다면 그에 따른 옵션도 추가되어야 한다.
거기다 보통 모델 선언은 Transformer(Blocks(FeedForward)) 같은 식으로 중첩되어 있으므로 위와 같은 조건문이 등장하는 지점까지 설정값을 넘겨줘야 한다. 그냥 값을 넘기자니 중첩 때문에 설정값이 누적되어 증가한다는 것도 문제다. (예를 들어 Transformer는 FeedForward을 위한 설정값 activation도 넘겨받아야 하고, dropout을 위한 설정값도 넘겨받아야 한다.) 그래서 그냥 여러 설정들을 묶은 객체를 (위의 conf 같은) 넘겨주는 경우도 많다. 좋긴 하지만 그렇다면 그 모듈을 쓰기 위해서는 conf 객체를 생성해서 전달해야 한다. 그 자체도 번거롭지만 conf 객체에서 실제 사용되는 설정값을 코드를 보기 전에는 알 수 없다는 것도 문제가 된다.
그 다음으로 인기 있는(혹은 인기 있었던?) 방법은 registry를 쓰는 방법이다. 예를 들면 이런 식이다.
@registry
def relu():
return nn.ReLU()
activation = get_registry(conf.model.activation)
if문을 추가해야 한다는 문제가 사라진다는 점은 유용하다. 그렇지만 registry에 추가해줘야 한다는 문제가 생겨나고, 설정을 어떻게 넘겨줄 것인가라는 문제는 아직 해소되지 않았다.
그렇다면 아예 설정값에 nn.ReLU라는 객체를 넣을 수는 없을까? 이 문제를 해결하는 것이 hydra의 instantiate이다.
https://hydra.cc/docs/advanced/instantiate_objects/overview/
activation:
_target_: torch.nn.ReLU
activation = instantiate(conf.model.activation)
registry 등록이 필요 없이 파이썬 객체나 함수를 그대로 설정값으로 추가하고, 그 설정값을 사용해서 파이썬 객체를 생성할 수 있다. 여기서 약간 불편한 점은 YAML을 사용하기 때문에 함수 호출을 위한 구문이 좀 자연스럽지 않다는 것이다. import 경로도 모두 써줘야 하고.
https://detectron2.readthedocs.io/en/latest/tutorials/lazyconfigs.html
이 문제에 대해서 detectron2에서는 파이썬 코드를 설정 파일로 쓰는 방식으로 해결했다.
activation = L(nn.ReLU)()
일반적인 파이썬 코드를 사용해서 호출하되, L()을 사용해서 실제로 코드를 실행하는 것이 아니라 설정값을 생성하도록 한 것이다. 비슷한 접근을 구글에서 공개한 fiddle (https://github.com/google/fiddle) 에서도 채택하고 있는데, 여기서는 더 나아가 AST를 패치해서 L()을 제거하기도 했다.
@auto_config
def activation():
return nn.ReLU()
이 접근을 채택하면 예컨대 optimizer 하이퍼파라미터 조정 같은 일상적인 문제도 간단해진다. 예를 들어 AdamW 같은 경우 learning rate, beta1, beta2, eps, weight decay 같은 하이퍼파라미터가 필요한데, 이 모든 값을 설정으로 추가한다고 생각하면,
if conf.optimizer == 'adamw':
return AdamW(parameters(), lr=conf.lr, betas=(conf.adam_beta1, conf.adam_beta2), eps=conf.adam_eps, weight_decay=conf.weight_decay)
이런 형태가 될 것이다. 그렇지만 instantiate를 사용한다면,
optimizer = L(AdamW)(lr=3e-4, betas=(0.9, 0.98), eps=1e-5, weight_decay=0.1)
optimizer = instantiate(optimizer)(parameters)
같은 식으로 사용이 가능하다.
더 나아가, instantiate가 중첩된 객체나 함수 선언을 생성할 수 있다고 하면 설정값을 전달하는 방식이 아예 달라질 수 있다. 예를 들어 위의 activation 변경 같은 문제는 이렇게 접근할 수 있다.
model = L(Transformer)(
block=L(Block)(
feedforward=L(FeedForward)(
activation=L(ReLU)()
)
)
)
model = instantiate(model)
FeedForward 같은 모델에서 activation을 생성하는 것이 아니라, 그냥 activation을 설정값 자체에서 FeedForward에 넘겨주는 것이다. 뭐 요새는 전부 비슷비슷한 트랜스포머를 쓰다보니 이런 형태의 모듈화가 필요한 경우가 많지 않긴 하지만, 그렇지 않다면 문제를 훨씬 쉽게 만들어주는 경우가 있다.
이러한 설정 관리 방법의 유연성과 강력함을 보여주는 사례로 detectron2에서 설정 변경으로 본업도 아닌 이미지넷 분류기를 학습시키는 예제도 참고할만할 것 같다. https://github.com/facebookresearch/detectron2/blob/main/configs/Misc/torchvision_imagenet_R_50.py
더 나은 방법과 디자인, 접근이 있을 수 있겠지만, 이 방법이 hydra, detectron2, fiddle에서 공통적으로 등장한 것을 보면 그럭저럭 쓸만한 수준이라고는 할 수 있을 것 같다. 개인적으로도 계속 써오고 있는데, 물론 머신 러닝 시스템에서 정말 온갖 수정에 대한 필요가 발생하기에 그 모두를 커버하기는 어려운 경우도 있긴 했지만 대체로 나쁘지 않았다. 그렇게 흔한 접근과 도구가 아니라는 것에서 발생시키는 문제들은 있지만.
https://www.facebook.com/100001273238678/posts/pfbid0L8fAhUiMACq1d4e2p8sApgwVYiYAqXg3DcHyd5SqFDyCMo4QtbwKnRrxMSwvBjuGl/?mibextid=5eVWNK
과거에도 쓴 글이 있는데, 여하간 머신 러닝을 위한 프레임워크, 구체적으로는 계속해서 실험을 하기 위한 프레임워크에서 가장 중요한 것 중 하나가 설정 관리라고 생각한다. 실험을 계속하다 보면 정말 온갖 곳에서 수정이 필요한 경우들이 생기고 (데이터소스, 데이터셋과 구조, 모델 구조, 학습 루프 등등등...) 그런 잠재적인 수정에 대해서 열려 있는 코드가 필요하다. 꼭 이런 모든 잠재적인 수정을 미리 예측해서 추상화한다기보다도, 수정이 필요해졌을 때 큰 부수효과나 자잘한 작업 없이도 수정할 수 있는가 하는 것이 중요한 부분이다.
그리고 이런 유연성에서 가장 기본적이면서도 큰 도움이 되는 것이 설정 파일이다.
사실 설정 파일 포맷 자체도 유의미한 차이를 만들어내지만 (예를 들어 여러 설정 파일을 조합할 수 있는가 등) 그보다는 설정 파일을 어떻게 사용하는가 하는 것이 중요하다 할 수 있겠다. 어쨌든 설정 파일은 그 형식이 어떻건 원칙적으로는 값의 나열이라는 점에서는 동일하므로.
예를 들어, 트랜스포머의 feedforward의 activation 함수를 바꾸고 싶다고 하자. 그렇다고 하면 보통 어떻게 할까? 가장 기본적으로는 if를 사용하는 것이다.
if conf.model.activation == 'relu':
activation = nn.ReLU()
흔히 쓰이는 방법이지만 두 가지 문제가 있다. 새로운 activation 함수를 추가하고 싶다면 이 if 문이 있는 곳까지 이동해서 새로운 조건을 추가해야 한다. 거기다 ReLU 같은 경우 특별한 파라미터가 없어서 간단하지만 LeakyReLU 같이 추가 파라미터가 필요하다면 그에 따른 옵션도 추가되어야 한다.
거기다 보통 모델 선언은 Transformer(Blocks(FeedForward)) 같은 식으로 중첩되어 있으므로 위와 같은 조건문이 등장하는 지점까지 설정값을 넘겨줘야 한다. 그냥 값을 넘기자니 중첩 때문에 설정값이 누적되어 증가한다는 것도 문제다. (예를 들어 Transformer는 FeedForward을 위한 설정값 activation도 넘겨받아야 하고, dropout을 위한 설정값도 넘겨받아야 한다.) 그래서 그냥 여러 설정들을 묶은 객체를 (위의 conf 같은) 넘겨주는 경우도 많다. 좋긴 하지만 그렇다면 그 모듈을 쓰기 위해서는 conf 객체를 생성해서 전달해야 한다. 그 자체도 번거롭지만 conf 객체에서 실제 사용되는 설정값을 코드를 보기 전에는 알 수 없다는 것도 문제가 된다.
그 다음으로 인기 있는(혹은 인기 있었던?) 방법은 registry를 쓰는 방법이다. 예를 들면 이런 식이다.
@registry
def relu():
return nn.ReLU()
activation = get_registry(conf.model.activation)
if문을 추가해야 한다는 문제가 사라진다는 점은 유용하다. 그렇지만 registry에 추가해줘야 한다는 문제가 생겨나고, 설정을 어떻게 넘겨줄 것인가라는 문제는 아직 해소되지 않았다.
그렇다면 아예 설정값에 nn.ReLU라는 객체를 넣을 수는 없을까? 이 문제를 해결하는 것이 hydra의 instantiate이다.
https://hydra.cc/docs/advanced/instantiate_objects/overview/
activation:
_target_: torch.nn.ReLU
activation = instantiate(conf.model.activation)
registry 등록이 필요 없이 파이썬 객체나 함수를 그대로 설정값으로 추가하고, 그 설정값을 사용해서 파이썬 객체를 생성할 수 있다. 여기서 약간 불편한 점은 YAML을 사용하기 때문에 함수 호출을 위한 구문이 좀 자연스럽지 않다는 것이다. import 경로도 모두 써줘야 하고.
https://detectron2.readthedocs.io/en/latest/tutorials/lazyconfigs.html
이 문제에 대해서 detectron2에서는 파이썬 코드를 설정 파일로 쓰는 방식으로 해결했다.
activation = L(nn.ReLU)()
일반적인 파이썬 코드를 사용해서 호출하되, L()을 사용해서 실제로 코드를 실행하는 것이 아니라 설정값을 생성하도록 한 것이다. 비슷한 접근을 구글에서 공개한 fiddle (https://github.com/google/fiddle) 에서도 채택하고 있는데, 여기서는 더 나아가 AST를 패치해서 L()을 제거하기도 했다.
@auto_config
def activation():
return nn.ReLU()
이 접근을 채택하면 예컨대 optimizer 하이퍼파라미터 조정 같은 일상적인 문제도 간단해진다. 예를 들어 AdamW 같은 경우 learning rate, beta1, beta2, eps, weight decay 같은 하이퍼파라미터가 필요한데, 이 모든 값을 설정으로 추가한다고 생각하면,
if conf.optimizer == 'adamw':
return AdamW(parameters(), lr=conf.lr, betas=(conf.adam_beta1, conf.adam_beta2), eps=conf.adam_eps, weight_decay=conf.weight_decay)
이런 형태가 될 것이다. 그렇지만 instantiate를 사용한다면,
optimizer = L(AdamW)(lr=3e-4, betas=(0.9, 0.98), eps=1e-5, weight_decay=0.1)
optimizer = instantiate(optimizer)(parameters)
같은 식으로 사용이 가능하다.
더 나아가, instantiate가 중첩된 객체나 함수 선언을 생성할 수 있다고 하면 설정값을 전달하는 방식이 아예 달라질 수 있다. 예를 들어 위의 activation 변경 같은 문제는 이렇게 접근할 수 있다.
model = L(Transformer)(
block=L(Block)(
feedforward=L(FeedForward)(
activation=L(ReLU)()
)
)
)
model = instantiate(model)
FeedForward 같은 모델에서 activation을 생성하는 것이 아니라, 그냥 activation을 설정값 자체에서 FeedForward에 넘겨주는 것이다. 뭐 요새는 전부 비슷비슷한 트랜스포머를 쓰다보니 이런 형태의 모듈화가 필요한 경우가 많지 않긴 하지만, 그렇지 않다면 문제를 훨씬 쉽게 만들어주는 경우가 있다.
이러한 설정 관리 방법의 유연성과 강력함을 보여주는 사례로 detectron2에서 설정 변경으로 본업도 아닌 이미지넷 분류기를 학습시키는 예제도 참고할만할 것 같다. https://github.com/facebookresearch/detectron2/blob/main/configs/Misc/torchvision_imagenet_R_50.py
더 나은 방법과 디자인, 접근이 있을 수 있겠지만, 이 방법이 hydra, detectron2, fiddle에서 공통적으로 등장한 것을 보면 그럭저럭 쓸만한 수준이라고는 할 수 있을 것 같다. 개인적으로도 계속 써오고 있는데, 물론 머신 러닝 시스템에서 정말 온갖 수정에 대한 필요가 발생하기에 그 모두를 커버하기는 어려운 경우도 있긴 했지만 대체로 나쁘지 않았다. 그렇게 흔한 접근과 도구가 아니라는 것에서 발생시키는 문제들은 있지만.
https://www.facebook.com/100001273238678/posts/pfbid0L8fAhUiMACq1d4e2p8sApgwVYiYAqXg3DcHyd5SqFDyCMo4QtbwKnRrxMSwvBjuGl/?mibextid=5eVWNK
Nondifferentiable Log
머신 러닝 코드, 특히 실험적 목적이 강한 코드에서 가장 중요한 문제 중 하나가 설정을 관리하는 것이라고 본다. 머신 러닝 모델에는 수많은 하이퍼파라미터가 존재하고 그
LLM에 대한 새로운 유형의 adversarial attack 방식이 발견되어 타임라인이 난리가 났네요. arXiv에도 공개된 논문인데, 논문 실험자에 의해 왠만한 LLM들을 모두 jailbreak이 성공했던 것 같습니다. 심지어는 블랙박스 모델을 가진 LLM들에서도... 물론 지금은 다 막혔겠지만.
LLM adversarial attack에 관심있는 분들은 GitHub에 공개한 코드를 이용해 한번 살펴보시는 것도 좋을 듯 싶네요.
제목: Universal and Transferable Adversarial Attacks on Aligned Language Models
요약:
"즉시 사용 가능한" 대규모 언어 모델은 불쾌한 콘텐츠를 대량으로 생성할 수 있기 때문에 최근의 작업은 원치 않는 콘텐츠 생성을 방지하기 위해 이러한 모델을 조정하는 데 중점을 두고 있습니다. LLM에 대한 소위 '탈옥'이라고 불리는 이러한 조치를 우회하는 데 어느 정도 성공했지만, 이러한 공격은 인간의 창의력을 크게 필요로 하며 실제로는 취약합니다.
이 논문에서는 정렬된 언어 모델이 불쾌한 동작을 생성하도록 하는 간단하고 효과적인 공격 방법을 제안합니다. 특히, 이 접근 방식은 불쾌한 콘텐츠를 생성하는 LLM에 대한 광범위한 쿼리에 붙이면 모델이 답변을 거부하지 않고 긍정적인 응답을 생성할 확률을 극대화하는 접미사를 찾는 것을 목표로 합니다. 그러나 수동 엔지니어링에 의존하는 대신, 우리의 접근 방식은 욕심 기반 검색 기법과 그라데이션 기반 검색 기법의 조합을 통해 이러한 적대적인 접미사를 자동으로 생성하며, 과거의 자동 프롬프트 생성 방법보다 개선되었습니다.
놀랍게도, 저희 접근 방식으로 생성된 적대적 프롬프트는 공개적으로 공개된 블랙박스 LLM을 포함하여 상당히 전이 가능하다는 사실을 발견했습니다. 특히, 여러 프롬프트(즉, 다양한 유형의 불쾌한 콘텐츠를 요청하는 쿼리)와 여러 모델(저희의 경우 Vicuna-7B 및 13B)에 대해 적대적 공격 접미사를 학습시켰습니다. 이 과정에서 생성된 공격 접미사는 ChatGPT, Bard, Claude의 퍼블릭 인터페이스는 물론 LLaMA-2-Chat, Pythia, Falcon 등의 오픈 소스 LLM에 불쾌감을 주는 콘텐츠를 유도할 수 있습니다. 이 작업은 전체적으로 정렬된 언어 모델에 대한 적대적 공격의 최신 기술을 크게 발전시켰으며, 이러한 시스템이 불쾌한 정보를 생성하는 것을 어떻게 방지할 수 있는지에 대한 중요한 질문을 제기합니다. 코드는 다음 http URL에서 확인할 수 있습니다.
주요 통찰과 교훈:
- 대규모 언어 모델은 불쾌감을 주는 콘텐츠를 방지하도록 정렬된 경우에도 여전히 적대적 공격에 취약할 수 있습니다.
- 제안하는 공격 방식은 수동 엔지니어링에 의존하지 않고 자동으로 적대적 접미사를 생성하므로 이전 방식보다 더 효율적이고 효과적입니다.
- 이 접근법에 의해 생성된 적대적 프롬프트는 전송 가능한 것으로 나타났습니다. 즉, 블랙박스 언어 모델에도 영향을 미쳐 더 위험하고 방어하기 어렵게 만들 수 있습니다.
#LLM #adversarialattack
arXiv: https://arxiv.org/abs/2307.15043
PDF: https://arxiv.org/pdf/2307.15043.pdf
arXiv-vanity: https://www.arxiv-vanity.com/papers/2307.15043
Paper page: https://huggingface.co/papers/2307.15043
Papers with code: https://paperswithcode.com/paper/universal-and-transferable-adversarial
Github: https://github.com/llm-attacks/llm-attacks
LLM adversarial attack에 관심있는 분들은 GitHub에 공개한 코드를 이용해 한번 살펴보시는 것도 좋을 듯 싶네요.
제목: Universal and Transferable Adversarial Attacks on Aligned Language Models
요약:
"즉시 사용 가능한" 대규모 언어 모델은 불쾌한 콘텐츠를 대량으로 생성할 수 있기 때문에 최근의 작업은 원치 않는 콘텐츠 생성을 방지하기 위해 이러한 모델을 조정하는 데 중점을 두고 있습니다. LLM에 대한 소위 '탈옥'이라고 불리는 이러한 조치를 우회하는 데 어느 정도 성공했지만, 이러한 공격은 인간의 창의력을 크게 필요로 하며 실제로는 취약합니다.
이 논문에서는 정렬된 언어 모델이 불쾌한 동작을 생성하도록 하는 간단하고 효과적인 공격 방법을 제안합니다. 특히, 이 접근 방식은 불쾌한 콘텐츠를 생성하는 LLM에 대한 광범위한 쿼리에 붙이면 모델이 답변을 거부하지 않고 긍정적인 응답을 생성할 확률을 극대화하는 접미사를 찾는 것을 목표로 합니다. 그러나 수동 엔지니어링에 의존하는 대신, 우리의 접근 방식은 욕심 기반 검색 기법과 그라데이션 기반 검색 기법의 조합을 통해 이러한 적대적인 접미사를 자동으로 생성하며, 과거의 자동 프롬프트 생성 방법보다 개선되었습니다.
놀랍게도, 저희 접근 방식으로 생성된 적대적 프롬프트는 공개적으로 공개된 블랙박스 LLM을 포함하여 상당히 전이 가능하다는 사실을 발견했습니다. 특히, 여러 프롬프트(즉, 다양한 유형의 불쾌한 콘텐츠를 요청하는 쿼리)와 여러 모델(저희의 경우 Vicuna-7B 및 13B)에 대해 적대적 공격 접미사를 학습시켰습니다. 이 과정에서 생성된 공격 접미사는 ChatGPT, Bard, Claude의 퍼블릭 인터페이스는 물론 LLaMA-2-Chat, Pythia, Falcon 등의 오픈 소스 LLM에 불쾌감을 주는 콘텐츠를 유도할 수 있습니다. 이 작업은 전체적으로 정렬된 언어 모델에 대한 적대적 공격의 최신 기술을 크게 발전시켰으며, 이러한 시스템이 불쾌한 정보를 생성하는 것을 어떻게 방지할 수 있는지에 대한 중요한 질문을 제기합니다. 코드는 다음 http URL에서 확인할 수 있습니다.
주요 통찰과 교훈:
- 대규모 언어 모델은 불쾌감을 주는 콘텐츠를 방지하도록 정렬된 경우에도 여전히 적대적 공격에 취약할 수 있습니다.
- 제안하는 공격 방식은 수동 엔지니어링에 의존하지 않고 자동으로 적대적 접미사를 생성하므로 이전 방식보다 더 효율적이고 효과적입니다.
- 이 접근법에 의해 생성된 적대적 프롬프트는 전송 가능한 것으로 나타났습니다. 즉, 블랙박스 언어 모델에도 영향을 미쳐 더 위험하고 방어하기 어렵게 만들 수 있습니다.
#LLM #adversarialattack
arXiv: https://arxiv.org/abs/2307.15043
PDF: https://arxiv.org/pdf/2307.15043.pdf
arXiv-vanity: https://www.arxiv-vanity.com/papers/2307.15043
Paper page: https://huggingface.co/papers/2307.15043
Papers with code: https://paperswithcode.com/paper/universal-and-transferable-adversarial
Github: https://github.com/llm-attacks/llm-attacks
Arxiv-Vanity
Universal and Transferable Adversarial Attacks on Aligned Language Models
Because “out-of-the-box” large language models are capable of generating a great deal of objectionable content, recent work has focused on aligning these models in an attempt to prevent undesirable generation. While there has been some success at circumventing…
건강한 갈등 vs. 인위적인 하모니
(얼마 전 북클럽에 초대받아 야후 때 읽어던 책 "Five Dysfunctions of a Team"을 하나 선정해 같이 리뷰하는 시간을 가졌다. 저자의 다른 책들을 오래만에 다시 보다가 필받아서 아래 글을 쓰게 되었다)
경험이 부족한 혹은 마음 약한 리더가 하는 흔한 실수 중의 하나는 팀원들이 조화롭게 지내기를 원하는 거다. 누구나 팀원들이 서로 다른 의견을 이야기하는 걸 보면 마음이 처음에는 좀 불편할 수 있고 개입해서 해결하고 싶은 생각이 꿈틀댈 수 있다. 이는 조직의 조화와 화합을 강조하는 한국적인 상황에 확실히 더 많아 보인다.
하지만 신뢰가 있는 팀에서 (인신공격이 아닌) 서로 다른 생각이 미팅에서 자유롭게 표출되고 관점을 이해하는 노력과 논의를 통해 더 좋은 아이디어로 만들어내는 경험을 한번이라도 해본다면 인위적인 조화보다는 신뢰를 바탕으로한 건강한 갈등이 더 좋다는 점을 알 수 있으리라 믿는다.
그런데 하모니를 너무 중시하는 리더라면 서로의 의견 다름이 불편해서 걱정을 하면서 너무 빠르게 정리를 하거나 또는 정반대의 경우에는 누군가 손을 들어주는 경우 다른 사람에게 상처를 줄까 건강한 충돌로 끝날 수 있었던 거를 최종 결정을 미룸으로써 감정적인 충돌로 번지게 만들기도 한다.
무분별한 하모니보다는 건강한 갈등을 추구하는 문화를 만드는 것이 중장기적으로 더 좋은 아이디어를 만들어내고 모든 사람들이 같은 방향으로 달려가는데 도움이 된다고 믿는다. 이 관점에서 리더의 역할을 팀내에 신뢰를 만들어내 사람들이 자기 의견이나 질문을 편하게 할 수 있게 하고 필요할 때 명확한 결정을 내려주는 것이다.
여기서 명확성이란 옳은 결정이란 관점이 아니다. 적어도 사람들이 다음 단계로 넘어갈 수 있게 정리를 해준다는 그 상황에서 최선의 결정이란 느낌이 더 강한 것이라 나중에 잘못되었다 판단되면 수정하면 된다. “어떤 결정이든 아무 결정도 내리지 않는 것보다 낫다”(Any decision is better than no decision)라는 말이 괜히 나온 것이 아니다. 이런 이유로 아직 결정을 못내리겠다고 말을 하는 것도 결정이다.
“팀이 빠지기 쉬운 5가지 함정”(Five Dysfunctions of a team)이란 책으로 유명한 패트릭 렌시오니가 쓴 “The 5 Temptations of a CEO”라는 책(한글판은 없는 것으로 보인다)이 있다. 여기에 보면 CEO가 빠지기 쉬운 5가지 유혹에 관한 이야기를 하는데 그 중 2가지가 앞서 언급한 내용들과 관련이 있다.
유혹 3: 명확성 대신 확실성을 추구하기 (Certainty over Clarity)
유혹 4: 건강한 갈등 대신 하모니를 우선시하기 (Harmony over Conflict)
이 책은 패트릭 렌시오니의 다른 책들처럼 가상의 회사를 바탕으로 쓰여져있기 때문에 읽기가 수월하다. 참고로 이 책에서 언급된 다른 3가지 유혹은 아래와 같다.
유혹 1: 결과보다 자존심을 추구하기 (Ego over Results)
유혹 2: 책임을 묻기 보다는 인기를 추구하기 (Popularity over Accountability)
유혹 5: 신뢰보다는 절대 틀리지 않는다는 이미지를 추구하기 (Invulnerability over Trust)
조직의 발전은 리더들이 솔선수범해서 "불편함"을 견디며 하루하루 편안한 영역 바깥으로 나갈 때 일어난다. 밑에 사람들을 뽑았으니 그 사람들이 알아서 잘 하겠지라고 믿으면 안되고 잘 할 수 있게 도와주고 더 잘 할수 있게 챌린지하며 완벽한 결정이 아닌 명확한 결정을 내리는 습관을 들여야 한다.
(얼마 전 북클럽에 초대받아 야후 때 읽어던 책 "Five Dysfunctions of a Team"을 하나 선정해 같이 리뷰하는 시간을 가졌다. 저자의 다른 책들을 오래만에 다시 보다가 필받아서 아래 글을 쓰게 되었다)
경험이 부족한 혹은 마음 약한 리더가 하는 흔한 실수 중의 하나는 팀원들이 조화롭게 지내기를 원하는 거다. 누구나 팀원들이 서로 다른 의견을 이야기하는 걸 보면 마음이 처음에는 좀 불편할 수 있고 개입해서 해결하고 싶은 생각이 꿈틀댈 수 있다. 이는 조직의 조화와 화합을 강조하는 한국적인 상황에 확실히 더 많아 보인다.
하지만 신뢰가 있는 팀에서 (인신공격이 아닌) 서로 다른 생각이 미팅에서 자유롭게 표출되고 관점을 이해하는 노력과 논의를 통해 더 좋은 아이디어로 만들어내는 경험을 한번이라도 해본다면 인위적인 조화보다는 신뢰를 바탕으로한 건강한 갈등이 더 좋다는 점을 알 수 있으리라 믿는다.
그런데 하모니를 너무 중시하는 리더라면 서로의 의견 다름이 불편해서 걱정을 하면서 너무 빠르게 정리를 하거나 또는 정반대의 경우에는 누군가 손을 들어주는 경우 다른 사람에게 상처를 줄까 건강한 충돌로 끝날 수 있었던 거를 최종 결정을 미룸으로써 감정적인 충돌로 번지게 만들기도 한다.
무분별한 하모니보다는 건강한 갈등을 추구하는 문화를 만드는 것이 중장기적으로 더 좋은 아이디어를 만들어내고 모든 사람들이 같은 방향으로 달려가는데 도움이 된다고 믿는다. 이 관점에서 리더의 역할을 팀내에 신뢰를 만들어내 사람들이 자기 의견이나 질문을 편하게 할 수 있게 하고 필요할 때 명확한 결정을 내려주는 것이다.
여기서 명확성이란 옳은 결정이란 관점이 아니다. 적어도 사람들이 다음 단계로 넘어갈 수 있게 정리를 해준다는 그 상황에서 최선의 결정이란 느낌이 더 강한 것이라 나중에 잘못되었다 판단되면 수정하면 된다. “어떤 결정이든 아무 결정도 내리지 않는 것보다 낫다”(Any decision is better than no decision)라는 말이 괜히 나온 것이 아니다. 이런 이유로 아직 결정을 못내리겠다고 말을 하는 것도 결정이다.
“팀이 빠지기 쉬운 5가지 함정”(Five Dysfunctions of a team)이란 책으로 유명한 패트릭 렌시오니가 쓴 “The 5 Temptations of a CEO”라는 책(한글판은 없는 것으로 보인다)이 있다. 여기에 보면 CEO가 빠지기 쉬운 5가지 유혹에 관한 이야기를 하는데 그 중 2가지가 앞서 언급한 내용들과 관련이 있다.
유혹 3: 명확성 대신 확실성을 추구하기 (Certainty over Clarity)
유혹 4: 건강한 갈등 대신 하모니를 우선시하기 (Harmony over Conflict)
이 책은 패트릭 렌시오니의 다른 책들처럼 가상의 회사를 바탕으로 쓰여져있기 때문에 읽기가 수월하다. 참고로 이 책에서 언급된 다른 3가지 유혹은 아래와 같다.
유혹 1: 결과보다 자존심을 추구하기 (Ego over Results)
유혹 2: 책임을 묻기 보다는 인기를 추구하기 (Popularity over Accountability)
유혹 5: 신뢰보다는 절대 틀리지 않는다는 이미지를 추구하기 (Invulnerability over Trust)
조직의 발전은 리더들이 솔선수범해서 "불편함"을 견디며 하루하루 편안한 영역 바깥으로 나갈 때 일어난다. 밑에 사람들을 뽑았으니 그 사람들이 알아서 잘 하겠지라고 믿으면 안되고 잘 할 수 있게 도와주고 더 잘 할수 있게 챌린지하며 완벽한 결정이 아닌 명확한 결정을 내리는 습관을 들여야 한다.
Forwarded from BZCF | 비즈까페
수많은 철도회사들은 채무를 이행하지 못하고, 파산을 했다. 장래가 유망한 고속성장 산업이 항상 성공하는 것은 아니라는 값비싼 교훈을 배울 수 있었다. 철도 회사가 우량 산업이라는 주장을 반박하는 사람은 당시 그 누구도 없었다. 그럼에도 수익은 보장되지 않았던 것이다. 철도주는 빈번한 경제공황과 약세장 속에서 연일 하한가를 기록했고, 원금이라도 회수해서 빠져나온 주주는 그나마 운이 좋은 편이었다.
https://m.blog.naver.com/bizucafe/223169270296
https://m.blog.naver.com/bizucafe/223169270296
NAVER
미국 철도산업의 교훈 그리고 최첨단 기술
1. 미국의 철도산업은 오늘날 인터넷, 모바일, 인공지능 산업과 같았다. 미국 전역을 연결하는 철로 건설에...
BZCF | 비즈까페
수많은 철도회사들은 채무를 이행하지 못하고, 파산을 했다. 장래가 유망한 고속성장 산업이 항상 성공하는 것은 아니라는 값비싼 교훈을 배울 수 있었다. 철도 회사가 우량 산업이라는 주장을 반박하는 사람은 당시 그 누구도 없었다. 그럼에도 수익은 보장되지 않았던 것이다. 철도주는 빈번한 경제공황과 약세장 속에서 연일 하한가를 기록했고, 원금이라도 회수해서 빠져나온 주주는 그나마 운이 좋은 편이었다. https://m.blog.naver.com/bizucafe/223169270296
철도 산업에 대한 간단한 메모
Why most railroad companies failed:
Overexpansion and competition led to excess capacity, diluting profits.
High levels of debt, often due to the costs of expansion, left companies vulnerable to economic downturns.
Economic downturns reduced demand for transportation services, exacerbating financial difficulties.
Mismanagement and corruption eroded profits and trust.
Technological advancements introduced risks and costs of adoption. Those who couldn't adapt quickly fell behind.
Who survived and how they survived and thrived:
Great Northern Railway: Avoided excessive debt, expanded strategically, and maintained strong community ties, which provided a reliable customer base.
New York Central Railroad: Pursued aggressive, yet calculated expansion. Embraced technological innovations, like electrification, improving efficiency.
Erie Railroad: Diversified freight business and capitalized on industrial centers it connected. However, faced several financial challenges and eventually merged into Consolidated Rail Corporation.
Missouri Pacific: Utilized its geographical advantage to tap into booming industries, such as cattle business and oil. However, it also faced financial instability and underwent reorganizations.
In essence, survival and success were linked to adaptability, prudent financial management, strategic expansion, diversified revenue streams, and embracing technological advancements. These companies navigated the shifting landscapes by capitalizing on unique opportunities and mitigating inherent risks.
What we could learn from this?
Avoid Overexpansion: Grow at a pace that your startup can handle. Rapid, unchecked growth can lead to oversaturation and diluted profits.
Maintain Financial Prudence: Avoid excessive debt. While borrowing is often necessary for startups, it's important to manage debt levels carefully.
Resilience in Economic Downturns: Ensure your startup can survive in challenging economic times. Diversify income streams and maintain strong cash reserves.
Avoid Mismanagement and Corruption: Good governance is critical. Transparency, strong leadership, and ethical practices contribute to a company's longevity.
Adopt Technology Wisely: Be open to innovation but evaluate the cost-benefit of adopting new technologies.
Strong Customer Base and Diversified Revenue: Develop strong relationships with your customers. Diversify your revenue streams to reduce dependence on a single source.
Emphasize Safety and Societal Values: Companies that prioritize these factors tend to earn respect and loyalty, which can contribute to long-term success.
Why most railroad companies failed:
Overexpansion and competition led to excess capacity, diluting profits.
High levels of debt, often due to the costs of expansion, left companies vulnerable to economic downturns.
Economic downturns reduced demand for transportation services, exacerbating financial difficulties.
Mismanagement and corruption eroded profits and trust.
Technological advancements introduced risks and costs of adoption. Those who couldn't adapt quickly fell behind.
Who survived and how they survived and thrived:
Great Northern Railway: Avoided excessive debt, expanded strategically, and maintained strong community ties, which provided a reliable customer base.
New York Central Railroad: Pursued aggressive, yet calculated expansion. Embraced technological innovations, like electrification, improving efficiency.
Erie Railroad: Diversified freight business and capitalized on industrial centers it connected. However, faced several financial challenges and eventually merged into Consolidated Rail Corporation.
Missouri Pacific: Utilized its geographical advantage to tap into booming industries, such as cattle business and oil. However, it also faced financial instability and underwent reorganizations.
In essence, survival and success were linked to adaptability, prudent financial management, strategic expansion, diversified revenue streams, and embracing technological advancements. These companies navigated the shifting landscapes by capitalizing on unique opportunities and mitigating inherent risks.
What we could learn from this?
Avoid Overexpansion: Grow at a pace that your startup can handle. Rapid, unchecked growth can lead to oversaturation and diluted profits.
Maintain Financial Prudence: Avoid excessive debt. While borrowing is often necessary for startups, it's important to manage debt levels carefully.
Resilience in Economic Downturns: Ensure your startup can survive in challenging economic times. Diversify income streams and maintain strong cash reserves.
Avoid Mismanagement and Corruption: Good governance is critical. Transparency, strong leadership, and ethical practices contribute to a company's longevity.
Adopt Technology Wisely: Be open to innovation but evaluate the cost-benefit of adopting new technologies.
Strong Customer Base and Diversified Revenue: Develop strong relationships with your customers. Diversify your revenue streams to reduce dependence on a single source.
Emphasize Safety and Societal Values: Companies that prioritize these factors tend to earn respect and loyalty, which can contribute to long-term success.
Forwarded from 요즘AI
OpenAI 다음으로 밸류가 높은 LLM 기업인 Anthropic(약 $5B)이 최근 출시한 언어 모델 Claude 2를 직접 사용해봤습니다.
100K 토큰을 지원하며 높은 안정성을 보여준다는 특성을 포함한 다양한 경우에 대해서 OpenAI의 GPT-4와 답변 성능을 비교해봤습니다.
직접 비교해본 사진은 아래 링크에서 확인하실 수 있습니다. :)
(비교 내용 확인하기)
1/ 입력 텍스트 길이
Anthropic은 100K라는 방대한 양의 토큰을 지원하는 만큼, 엄청난 길이의 입력값을 넣어도 답변이 가능합니다. 또한 방대한 양 속에서도 핵심적인 부분을 잘 추출해내는 것 같습니다.
그에 반해 GPT-4는 아직은 상대적으로 작은 토큰을 지원하기 때문에 시스템에 에러가 발생합니다.
2/ 윤리성
유해한 질문에 대해, GPT-4는 ‘~라고 판단합니다’의 형식으로 답변을 하며, Claude 2는 ‘~해야 합니다’라는 보다 강력한 주장의 형태로 답변을 했습니다.
즉 GPT-4는 확실한 주장보다는 윤리적 관점에서의 내용만 작성해주는 경향이, Claude 2는 스스로의 주장과 의견을 가지고 답변을 작성하는 경향이 있었습니다.
Claude 2는 ‘AI끼리의 강화 학습’이라는 독특한 방식으로 학습되었다고 합니다. 따라서 유해한 질문에 대해 회피하지 않고 자신의 윤리적 의견을 명확히 제시한다고 하죠.
그래서 ‘답변 회피’ 부분에서 큰 차이를 보일 것으로 예상했으나, GPT-4 또한 이런 종류의 질문에 대해 적절하게 잘 답변을 하는 것으로 나타났습니다.
3/ 환각
현재 GPT-4와 Claude 2 모두 웹 엑세스가 불가능하기 때문에 최신 이슈에 대한 정보가 없습니다.
이에 대해 GPT-4는 모르는 정보에 대해서는 모른다고 정직하게 답변하나, Claude 2는 환각의 경향을 꽤 보이는 것으로 나타났습니다.
4/ 번역
여러 번의 테스트 결과, 직역할 때 어색한 부분을 의역하는 상황에서는 Claude 2가 좀 더 자연스럽습니다.
하지만 Claude 2는 의역 과정에서 중요하지 않은 일부 내용을 종종 누락하는 경우가 있었습니다.
5/ 외부 파일 내용 요약(파일 첨부를 위해 GPT-4 Code Interpreter 사용)
Code Interpreter는 PDF 인식 및 내용 추출이 주기능이 아니다 보니, PDF 인식 과정에서 오류가 많이 발생했습니다. 몇몇 파일은 인식 자체를 하지 못하기도 했고요.
그에 반해 Claude 2는 안정적인 인식 성능을 보였으며, 내용 요약도 주요 내용을 핵심적으로 요약하는 것을 확인하였습니다.
*GPT-4는 PDF 인식 관련 플러그인을 사용할 수도 있지만, 단순 모델 성능의 비교를 위해 배제하였습니다.
6/ 수학 능력
기본적인 사칙연산이 아닌 수학적 계산의 영역에서는, 두 모델 모두 비슷한 수준의 해결 능력을 보였습니다.
‘step by step’이라는 프롬프트를 입력했더니, GPT-4는 훨씬 더 자세한 풀이 과정을 설명했습니다.
그에 반해 Claude 2는 핵심적인 풀이 과정만 설명했습니다.
그렇다면 기본적인 사칙연산은 어떨까요?
GPT-4를 사용할 경우에 사칙연산에서는 굉장히 안 좋은 성능을 보였습니다. 하지만 Code Interpreter를 활용하니 답변 성능이 눈에 띄게 좋아졌습니다.
Claude 2도 사칙연산에서 오류가 꽤 발견되었지만, 기본적인 GPT-4와 Code Interpreter의 중간 정도의 성능을 보이는 것 같습니다.
[요즘AI comment]
현재 Claude 2는 US, UK에서만 사용해볼 수 있습니다. 그럼에도 VPN을 활용하여 직접 사용해보신다면 두 모델의 차이를 더욱 확실하게 느낄 수 있을 것 같습니다.
전체적으로 Claude 2 모델이 GPT-4보다 신중하고 정제된 느낌을 받았습니다. 100K의 긴 토큰 때문인지, 답변 자체도 GPT에 비해 긴 경향이 있었고요.
하지만 환각과 같은 문제와 관련해서는 아직 GPT만큼 개선되지 못한 것 같습니다.
그러나 이는 언제든 개선될 수 있는 문제이며, 앞으로 Anthropic의 Claude 2 모델이 어떤 식으로 발전할지 기대가 됩니다.
읽어주셔서 감사합니다. 구독자님들 모두 좋은 주말 보내세요. :)
100K 토큰을 지원하며 높은 안정성을 보여준다는 특성을 포함한 다양한 경우에 대해서 OpenAI의 GPT-4와 답변 성능을 비교해봤습니다.
직접 비교해본 사진은 아래 링크에서 확인하실 수 있습니다. :)
(비교 내용 확인하기)
1/ 입력 텍스트 길이
Anthropic은 100K라는 방대한 양의 토큰을 지원하는 만큼, 엄청난 길이의 입력값을 넣어도 답변이 가능합니다. 또한 방대한 양 속에서도 핵심적인 부분을 잘 추출해내는 것 같습니다.
그에 반해 GPT-4는 아직은 상대적으로 작은 토큰을 지원하기 때문에 시스템에 에러가 발생합니다.
2/ 윤리성
유해한 질문에 대해, GPT-4는 ‘~라고 판단합니다’의 형식으로 답변을 하며, Claude 2는 ‘~해야 합니다’라는 보다 강력한 주장의 형태로 답변을 했습니다.
즉 GPT-4는 확실한 주장보다는 윤리적 관점에서의 내용만 작성해주는 경향이, Claude 2는 스스로의 주장과 의견을 가지고 답변을 작성하는 경향이 있었습니다.
Claude 2는 ‘AI끼리의 강화 학습’이라는 독특한 방식으로 학습되었다고 합니다. 따라서 유해한 질문에 대해 회피하지 않고 자신의 윤리적 의견을 명확히 제시한다고 하죠.
그래서 ‘답변 회피’ 부분에서 큰 차이를 보일 것으로 예상했으나, GPT-4 또한 이런 종류의 질문에 대해 적절하게 잘 답변을 하는 것으로 나타났습니다.
3/ 환각
현재 GPT-4와 Claude 2 모두 웹 엑세스가 불가능하기 때문에 최신 이슈에 대한 정보가 없습니다.
이에 대해 GPT-4는 모르는 정보에 대해서는 모른다고 정직하게 답변하나, Claude 2는 환각의 경향을 꽤 보이는 것으로 나타났습니다.
4/ 번역
여러 번의 테스트 결과, 직역할 때 어색한 부분을 의역하는 상황에서는 Claude 2가 좀 더 자연스럽습니다.
하지만 Claude 2는 의역 과정에서 중요하지 않은 일부 내용을 종종 누락하는 경우가 있었습니다.
5/ 외부 파일 내용 요약(파일 첨부를 위해 GPT-4 Code Interpreter 사용)
Code Interpreter는 PDF 인식 및 내용 추출이 주기능이 아니다 보니, PDF 인식 과정에서 오류가 많이 발생했습니다. 몇몇 파일은 인식 자체를 하지 못하기도 했고요.
그에 반해 Claude 2는 안정적인 인식 성능을 보였으며, 내용 요약도 주요 내용을 핵심적으로 요약하는 것을 확인하였습니다.
*GPT-4는 PDF 인식 관련 플러그인을 사용할 수도 있지만, 단순 모델 성능의 비교를 위해 배제하였습니다.
6/ 수학 능력
기본적인 사칙연산이 아닌 수학적 계산의 영역에서는, 두 모델 모두 비슷한 수준의 해결 능력을 보였습니다.
‘step by step’이라는 프롬프트를 입력했더니, GPT-4는 훨씬 더 자세한 풀이 과정을 설명했습니다.
그에 반해 Claude 2는 핵심적인 풀이 과정만 설명했습니다.
그렇다면 기본적인 사칙연산은 어떨까요?
GPT-4를 사용할 경우에 사칙연산에서는 굉장히 안 좋은 성능을 보였습니다. 하지만 Code Interpreter를 활용하니 답변 성능이 눈에 띄게 좋아졌습니다.
Claude 2도 사칙연산에서 오류가 꽤 발견되었지만, 기본적인 GPT-4와 Code Interpreter의 중간 정도의 성능을 보이는 것 같습니다.
[요즘AI comment]
현재 Claude 2는 US, UK에서만 사용해볼 수 있습니다. 그럼에도 VPN을 활용하여 직접 사용해보신다면 두 모델의 차이를 더욱 확실하게 느낄 수 있을 것 같습니다.
전체적으로 Claude 2 모델이 GPT-4보다 신중하고 정제된 느낌을 받았습니다. 100K의 긴 토큰 때문인지, 답변 자체도 GPT에 비해 긴 경향이 있었고요.
하지만 환각과 같은 문제와 관련해서는 아직 GPT만큼 개선되지 못한 것 같습니다.
그러나 이는 언제든 개선될 수 있는 문제이며, 앞으로 Anthropic의 Claude 2 모델이 어떤 식으로 발전할지 기대가 됩니다.
읽어주셔서 감사합니다. 구독자님들 모두 좋은 주말 보내세요. :)
NAVER
OpenAI: GPT-4 vs. Anthropic: Claude 2 답변 성능 비교
OpenAI 다음으로 밸류가 높은 LLM 기업인 Anthropic(약 $5B)이 최근 출시한 언어 모델 Claude 2를 직접 사용해봤습니다.