Skip to content

Commit 3d18038

Browse files
committed
[Post] add fse 2024
1 parent a0ccdb7 commit 3d18038

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

_posts/2024-08-02-what-is-left.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
title: 그래서 남은 것은 무엇인가?
3+
date: 2024-08-02
4+
author: Kihong Heo
5+
kor_author: 허기홍
6+
tags:
7+
- FSE2024
8+
- Research
9+
classes: wide
10+
---
11+
12+
우리 학자들이 애용하는 사이트 중 하나인 구글 학술검색(Google Scholar)에 가면,
13+
화면 맨 아래에 항상 다음과 같은 글이 떠 있다.
14+
15+
> 거인의 어깨에 올라서서 더 넓은 세상을 바라보라 - 아이작 뉴턴
16+
17+
과학의 본질을 이보다 더 간명하게 드러내는 말이 있을까?
18+
인류가 지금껏 쌓아올린 눈부신 과학 기술 문명은 불현듯 나타난 어느 한 천재의 성과가 아니며,
19+
오랜 기간 수많은 나그네들이 오가며 쌓아올린 산기슭의 돌탑 같은 것이다.
20+
뒷선 이가 꼭대기에 돌 하나 쌓을 수 있는 즐거움을 누릴 수 있게,
21+
개중에 제일 널따란 돌 정성스레 올려준 앞선이가 있었기 때문이다.
22+
뉴턴에게는 코페르니쿠스, 갈릴레이 등이 앞서서 돌탑을 쌓아준 거인들이었을 것이다.
23+
24+
“남기는 것”은 그래서 중요하다. 나를 위한 것임과 동시에 내가 속한 집단을 위한 것이기 때문이다.
25+
실전에서 연구를 하다보면 종종 느낀다.
26+
앞서 간 이가 제대로 남기지 않은 이정표 때문에 길을 잃을 때 마다 또한 생각한다.
27+
“대체 여기에 뭐가 남아있는 거지?”
28+
한편으로 내가 지나온 길을 되새겨 보는 기회도 된다.
29+
“나는 그 때 거기서 무엇을 남겼지?”
30+
31+
이번에 발표한 [연구]({{ site.url }}{{ site.baseurl }}/publications/fse24.pdf)는 이러한 과학의 본질을 곱씹어보는 기회였다.
32+
이제껏 진행한 연구와는 사뭇 성격이 달랐다.
33+
지금까지는 "세상에 남길 만한 새로운 기술"을 만드는 연구였다면,
34+
이번 연구는 “남기는 것”과 “남은 것” 자체에 관한 이야기이다.
35+
이 이야기의 시작은 작년에 발표했던 [지향성 퍼징 연구]({{ site.url }}{{ site.baseurl }}/publications/sec23.pdf)로 거슬러 올라간다.
36+
당시 우리는 만족스러운 아이디어를 떠올렸고, 이 돌멩이를 올릴 돌탑을 구하고 있던 차였다.
37+
즉, 실험을 위한 비교군이 필요했다. 이 분야의 최신 도구들을 가져와서 실험해보고 우리의 기술이
38+
이들 보다 낫다는 것을 보이는 것이다.
39+
이런 과정은 인류가 지금껏 쌓은 가장 높은 돌탑의 꼭대기에 우리가 만든 돌멩이를 하나 올림으로서
40+
우리 모두가 이전보다 조금 더 멀리 내다볼 수 있게끔 한다.
41+
따라서, 실험 과학에서 가장 중요한 작업이다.
42+
43+
언제는 안 그런적이 있었겠냐만, 이번에는 유독 배보다 배꼽이 더 컸다.
44+
기존 기술들이 해당 논문에서 제시된 만큼 성능이 나오지 않았다.
45+
이런 일을 겪으면 상당히 당황스럽다. 이미 발표된 연구 결과와 다른 결과를 제시하려면,
46+
어마어마한 노력이 필요하다. 자칫 잘못하면, 선행 연구자들에게 누명을 씌우는 일일 수가 있다.
47+
따라서 학계에서는 대개 매우 엄격하게 이를 심사하며, 철저한 검증과 구체적인 논거를 요구한다.
48+
49+
어쩔수 없었다. 다른 도구들을 하나하나 뜯어보면서 어떠한 설정이 원본 논문과 달랐는지 비교하는 수 밖에.
50+
당시 석사과정인 [태은](https://goodtaeeun.github.io)이가 주로 일을 도맡아 했다. 퍼징 도구에서 중요하게 설정을 해주어야 할 요소들이 빠져있거나, 원 저자들의 상황과 달랐을 것이라 추측했다.
51+
다행히도 몇 가지 실마리들이 나왔고, 연락을 했을 때 친절히 대답해준 선행 연구자들 덕분에 많은 경우 기존에 보고된 결과와 비슷한 결과를 자체적으로 재현할 수 있었다.
52+
우리의 추측대로, 중요한 설정이 애매하게 기술되어 있거나, 빠져있는 경우가 많았다.
53+
구현상 실수, 관점의 차이로 중요하지 않다고 판단한 경우 등 다양한 이유였다.
54+
55+
이러한 과정은 한 편으로 시간낭비처럼 보일 수 있었으나, 이 과정 조차 뒤에 오는 이를 위한 돌탑으로 남겨보고자 했다.
56+
같이 연구를 하고 있는 차상길 교수님의 제안이었다. 이 분야 (지향성 퍼징)의 역사가 아직 짧아서, 연구자들이 어떠한 것을
57+
남길지 아직 표준화된 합의가 없는 것이 문제였다. 그래서 우리의 경험을 토대로 우리가 (사실상) 표준을 마련해보기로 했다.
58+
그때부터 또 어마어마한 실험이 시작되었다. 잘못되었거나 애매한 설정으로 지향성 퍼징을 평가하면 어떠한 일이 벌어지는지 보여주는 구체적인 시나리오를 하나하나 마련했다.
59+
설정값 하나가 바뀌면 기존 기술들의 성능 순위가 뒤바뀌는 경우가 허다했다.
60+
이러한 상황을 포착하려다 보니 내가 연구를 시작한 이래 가장 규모가 큰 실험이 되었다.
61+
보여주어야 하는 시나리오도 많은데다가, 퍼징이라는 기술은 워낙 시간이 오래 걸리기 때문이다.
62+
나중에 헤아려보니 단일 CPU로 환산하면 대략 30년치에 해당하는 계산량이었다.
63+
64+
이 연구 결과를 올해 7월 FSE에서 발표하였다.
65+
제목은 "[Evaluating Directed Fuzzers: Are We Heading in the Right Direction?]({{ site.url }}{{ site.baseurl }}/publications/sec23.pdf)"
66+
태은이가 이 연구의 진행 상황을 국내 워크샵에서 발표했을 때 지었던 제목 "지향성 퍼징 평가, 제대로 하고 있나요?"를 보고
67+
그대로 논문 제목으로 옮겼는데, 역시 많은 이가 좋아하는 논문 제목이 되었다.
68+
태은이가 발표를 잘 준비한 덕택에 많은 사람들이 재미있게 우리의 이야기에 관심을 보였다.
69+
우리의 고생담은 즐거운 안주거리였고, 여러 사람들과 허심탄회한 이야기를 나누는 계기가 되었다.
70+
71+
학회가 열린 브라질 시골 마을에서 대전까지는 장장 40시간에 걸친 여정, 그리고 이 연구의 진한 잔상에 휩쓸려
72+
돌아오는 길에 반강제적으로 많은 생각을 할 수 밖에 없었다.
73+
물론 대부분은 잠들어있었지만 깨어있는 틈틈이 곱씹었다.
74+
학계에서 우리는 무엇을 남겨야 하며, 어떻게 남겨야 하는가?
75+
76+
첫째는 생각(아이디어)이다. 주로 우리가 글로 논문을 남기는 이유이다. 단순히 어떤 문제를 해결하는 방법만이 아니라 여기서는 좀 더 폭넓은 의미로 생각하자.
77+
재사용이 가능하여 뒤에 오는 이들이 참고할 만한 생각은 무엇이든 좋은 남길거리이다.
78+
남기는 방식이 꼭 책이나 논문처럼 정식 출판물일 필요는 없다.
79+
우리보다 앞서간 거인 다익스트라 선생은 일생동안 수많은 글을 남겼다. 그 중에는 정식 출판되지 않은 글도 많지만, 여전히 우리가 참고할만한 것이 많다. (이 [링크](https://www.cs.utexas.edu/~EWD/)를 통해 만나볼 수 있다.)
80+
내 대학시절을 돌아보아도 그랬다.
81+
과목 홈페이지를 통해, 선배들 때부터 전해져 내려오는 온라인 게시판의 오래된 링크를 통해, 우연히 읽은 교수님/선배님들의 글에 매료된 적이 많다.
82+
그 분들이 남겨주신, 내 인생에도 재사용 가능한 생각거리.
83+
공부를 대하는 태도, 연구의 즐거움, 각 전공 분야의 이야기 등 연구 논문을 읽을 실력이 없던 시절에도 그 분들이 남긴 글은
84+
그 분들의 생각을 읽고 배울 좋은 기회였다.
85+
어떠한 형식으로든 생각을 남기는 것은 중요하다.
86+
이 사회가 남긴 수많은 생각을 먹고 자란 지식인으로서 뒤따라오는 이를 위해 내 생각도 남겨 두는 것은 의무이기도 하다.
87+
88+
두번째는 코드(소프트웨어)이다. 이것은 우리 분야에 한정된 이야기일 수 있다. 이번 FSE 에서 발표한 것이 이 것이다. 다른 분야에 비해, 우리 SW분야는 재현 가능한 연구 기록물을 남기는 것이 비교적 쉽다.
89+
작년 세상을 떠들썩하게 했던 초전도체 LK-99 재현 소동을 생각해보라. 혹은 여타 첨단 기술을 떠올려 보라. 다른 분야에서는 한 실험실에서 얻은 결과를 다른 실험실에서 똑같이 재현하는 것이 쉽지 않은 경우가 많다.
90+
모든 변인을 똑같이 통제하는 것이 어려울 수도 있고, 심지어는 해당 실험 장비를 구하는 것 조차 어려울 수도 있다.
91+
반면 소프트웨어는 그 보편성 때문에 어려움이 훨씬 덜한 편이다. 특히 요즘에는 Docker, 가상 머신 같은 기술도 쉽게 사용할 수 있어서 동일한 실험 환경을 구축하기가 제법 편리해졌다. (그래도 여전히 어려운 점은 물론 있다)
92+
93+
이러한 좋은 환경을 갖춘 분야의 연구자로서, 연구 재현성 확보에 책임감을 갖는 것은 매우 중요하다.
94+
본인이 연구한 결과물을 투명하게 공개하고, 이를 바탕으로 후속 연구를 진행하려는 연구자들을 기꺼이 도울 수 있어야 한다.
95+
논문만 출판하고 이력서에 한 줄 추가하는 것 가지고 2류는 쉽게 될수 있을지 몰라도 존경받는 1류가 될 수는 없을 것이다.
96+
이러한 생각이 심각하게 들기 시작한 때가 박사 졸업 몇 달 전이었다.
97+
“내가 학위기간동안 발표한 연구는 모두 재현가능하게 공개하고 졸업하자” 라는 목표를 두고 그 시기에 온전히 여기에만 매달렸다.
98+
그 결과는 모두 [여기](https://github.com/prosyslab/sparrow)에 공개되어 있고 현재까지도 우리 연구실 학생들을 포함한
99+
후속 연구자들이 종종 사용하고 있다.
100+
카이스트에 와서 학생들을 가르치면서 강조한 것 중 하나도 이것이며, 이후 우리 연구실에서 발표한 모든 연구도 재현가능한 연구 기록물을 투명하게 공개해 왔다.
101+
후속 연구자들이 재현을 위해 연락해 올 때에도 기꺼이 최선을 다해 대답해 주고 있다.
102+
이러한 과정이 결코 쉽지 않고 번거로운 점도 많지만, 가끔 즐겁고 뿌듯한 소식도 들려올 때가 있다.
103+
재작년 ICSE 2022에서는 심혈을 기울여 기록물을 정리한 결과를 인정받아 최우수 연구 기록물상 (best artifact award)를 받기도 했다.
104+
여느 최우수 논문상 못지 않게 자랑스러운 상이다.
105+
최근에는 학회에 갈 때마다 외국 학생들 (왜냐면 교수들보다 학생들이 주로 실험을 하니까) 한 두 명씩은 꼭 말을 걸어온다.
106+
내가 이전에 공개한 연구 기록물, 만들어 놓은 숙제를 본인 연구와 공부에 잘 사용하고 있다는 감사 인사이다.
107+
나도 그 누구보다 더 실험을 많이 해본 박사과정 학생이었기에 그들의 상황을 잘 이해하고 있다.
108+
우리 분야 훌륭한 학생들의 성장에 작은 이정표가 될 수 있어서 기쁜 마음이다.
109+
110+
마지막으로는 사람(주로 학생)이다. 해당 분야의 발전을 위한 연구 과정에서 가장 중요한 산출물은 그 과정에서 키워낸 해당 분야의 전문가일 것이다.
111+
여러 도전적인 연구를 통해 당면한 과제의 해법을 제시하는 것도 물론 중요하다. 하지만 그 문제는 한 번 풀었으면 됐다.
112+
인류가 이미 해결한 문제라면 똑같은 문제로 다시 골머리 썩일 일은 없을 것이다.
113+
그 다음에 필요한 것은 좀 더 심화된 문제를 풀 수 있는 지능이다.
114+
즉, 연구나 학위 과정을 통해 이러한 사람을 남기고자 하는 이유는, 그 사람이 그 동안 배운 지식을 확장하여 졸업 후에 더 중요한 문제를 풀수 있기를 바라기 때문이다.
115+
이런 측면에서 석박사를 교육하는 것이야 말로 진정한 인공 일반 지능을 훈련시키는 것이다.
116+
117+
하지만, 최근 학계의 분위기를 보면 제대로 훈련된 사람이 남지 않을 것 같은 연구가 많이 보여서 나에게는 좋은 반면교사가 되어 주곤 한다.
118+
예를 들어, 기존에 존재하는 문제를 조금 주물러서 거대 언어 모델 (LLM)에 입력으로 주었더니 결과가 좋았다든가, 퍼징 (fuzzing) 도구를 그냥 세 달간 돌려놓았더니 남들이 찾지 못한 오류를 많이 찾았다든가.
119+
물론, 느닷없이 등장한 마술같은 도구들의 한계를 시험해보기 위해 이것저것 두드려보는 것은 반드시 필요하고, 무엇이 되었든 성능이 좋고 결과가 좋아서 인류를 이롭게 한다면 꼭 해야할 일이다.
120+
하지만 그것을 우리 석박사 학생들이 해야할까하는 생각은 늘 머릿속을 맴돈다.
121+
이른바 프롬프트 엔지니어링 (LLM의 입력 조작)으로 여러 문제를 풀고, 어마어마한 자원을 소모해서 소위 말하는 “최우수” 학회 논문을 다수 출판했다고 하자. 그래서 남은 것은 무엇인가?
122+
뒷따라 오는 사람에게 건네줄 재사용 가능한 지식이 있는가? 혹시 일기장에 쓸법한 “오늘의 뿌듯한 일” 정도는 아닌가?
123+
프롬프트 엔지니어링이 전문인 박사님을 회사에서 필요로 할까? 박사 학위가 없는 사람들과 얼마나 큰 차이가 날까? 그러한 교수님이 학생들에게 전달할 경험과 지식은 무엇인가?
124+
어떤 학교에서 무엇을 기대하고 교수로 채용을 할까?
125+
126+
우리는 쉬운 일이 아니라 뜻깊은 일, 후대에 영감을 줄 일을 해야하지 않을까?
127+
쉬운 길을 택하는 사람을 비난할 생각은 전혀 없다. 다만, 뜻깊은 일을 하겠다고 막 나선 어린 학생들이 쉬운 일을 따라 가는 사람들이 늘어선 줄을 보면서 괜히 주눅들까 걱정이다.
128+
하지만 당신이 이 글을 읽는 석/박사 학생이라면, 그리고 본인의 목표가 2류가 아니라 1류라면 절대 걱정할 필요 없다.
129+
나조차도 아직 부족한 사람이라 내 경험으로 증명해줄 수는 없지만, 내가 여태껏 본, 본받을만한 1류 선생님/선배님들은 그랬다.
130+
그들을 보면서 굳게 믿게 되었다. 쫄지 말고 굳건히 버티고 덤비자.
131+
그것이 연구를 통해 본인을 (혹은 교수라면 본인의 학생을) 남기는 길일 것이다.
132+
133+
지금은 인류 역사상 그 어느 때보다 남기는 것이 중요한 때가 아닐까?
134+
2026년이면 LLM이 인류가 여태껏 남긴 모든 데이터를 학습에 다 사용하는 시점이 올 것이라고 한다. 이른바 [데이터 고갈 문제](https://arxiv.org/abs/2211.04325)가 눈앞에 왔다.
135+
2026년까지 학습 데이터가 남은 것도 영어 정도이지, 소수 언어나 프로그래밍 언어 데이터는 이미 고갈 되었을 것이라는 추측이 지배적이다.
136+
또한, 다른 LLM이 생성한 데이터로 학습한 LLM은 성능이 크게 떨어지는 현상이 관찰된다고 한다. 이른바 [모델 붕괴 현상](https://www.nature.com/articles/s41586-024-07566-y)이다.
137+
AI가 더 이상 학습할 인간의 유산이 없는 시대에 다다랐다. 이제 AI가 남긴 것이 인간이 남긴 것을 양으로 압도해버릴 시대가 바로 앞에 있다.
138+
어쩌면 공상과학 영화 속 이야기와는 전혀 다른 방식일지도 모른다.
139+
무기를 장착한 AI의 힘 때문이 아니라, 기록 대결에서 압도 당하여 AI의 노예가 될지도.
140+
이제껏 인류가 쌓아 올린 과학, 도덕, 문화같은 돌탑이 AI가 만든 거대한 가짜 탑의 그림자에 가린다면 어떻게 될까?
141+
그리하여 뒤따라오는 이들은 우리가 지나간 길을 못보고 지나친다면?
142+
자, 그러니 이제 우리 남기자. 되도록이면 의미있고 뜻이 깊고 영감을 줄 것을.
143+
가짜 탑의 그림자가 드리워도 못보고 지나칠 일이 없도록 빛나는 것을.

0 commit comments

Comments
 (0)