{
    "componentChunkName": "component---src-templates-post-tsx",
    "path": "/cs-basic/",
    "result": {"data":{"logo":null,"markdownRemark":{"html":"<h2>Basic Computer System</h2>\n<p>※ 본 포스팅의 내용은 <code class=\"language-text\">고성능 파이썬 (High Performance Python)</code> 책을 읽고 공부한 내용을 기록한 포스트입니다.</p>\n<ul>\n<li>컴퓨터를 구성하는 3 요소\n<ul>\n<li>연산 장치 (CPU) => 초당 얼마나 많이 계산 가능한지</li>\n<li>메모리 장치 (RAM, Hard-Drive) => 데이터를 얼마나 많이 저장할 수 있으며, 얼마나 빠르게 읽고 쓸 수 있는지</li>\n<li>연결 장치 (BUS) => 장치 간에 데이터를 얼마나 빠르게 옮길 수 있는지</li>\n</ul>\n</li>\n</ul>\n<h3>연산 장치</h3>\n<p>컴퓨터의 가장 핵심적인 장치로 입력되 bit를 다른 bit로 변환하거나 프로세스 상태를 변경하는 기능을 제공한다.\n일반적인 연산 장치는 CPU지만 최근에는 인공지능 모델 학습에 잘 쓰이는 GPU가 인기를 끌고 있다. 연산 장치 성능의 핵심은 한 사이클에 처리할 수 있는 연산의 개수와 1초에\n처리할 수 있는 사이클의 횟수이다. 한 사이클에 처리할 수 있는 연산의 개수는 **IPC(Instructions Per Cycle)**로 측정하고,\n초당 사이클 횟수는 <strong>클럭 속도</strong>로 측정한다.</p>\n<p>이 두 개념은 CPU의 주 성능 지표이다. 어떤 CPU는 IPC 값이 높지만 클럭 속도가 느리고, 어떤 CPU는 반대인 경우도 있으며,\nGPU는 클럭 속도가 빠르고 IPC 값도 크지만 다른 문제에서 병목 현상이 발생한다.</p>\n<p>클럭 속도를 높이면 초당 연산량이 증가하므로 모든 프로그램의 속도가 개선되며, IPC 값이 높아지면 <strong>벡터화</strong> 수준이 증가하므로\n처리 성능이 올라간다. 벡터화는 CPU가 여러 데이터를 입력받아 한 번에 처리할 때 발생하는데, 이런 명령을 **SIMD(Single Instruction Multiple Data)**라고 한다.</p>\n<h3>연산 장치 관련 기술</h3>\n<ul>\n<li>Hyperthreading\n<ul>\n<li>OS에 가상의 두 번째 CPU를 인식시키고 단일 CPU의 실행 유닛에 두 스레드를 번갈아 가며 실행하도록 하는 기법</li>\n<li>단일 스레드 대비 30%까지 성능을 끌어올릴 수 있음</li>\n<li>두 스레드가 서로 다른 실행 유닛을 사용할 때 (Ex-한 스레드는 실수 연산, 다른 스레드는 정수 연산을 할 때) 잘 작동</li>\n</ul>\n</li>\n<li>비순차적 명령어 처리 (Out-of-order Execution) - Pipeline\n<ul>\n<li>이전 작업의 결과에 영향을 받지 않는 부분을 찾아내서 두 작업을 순서와 관계없이 실행하거나 동시에 실행하는 기법</li>\n<li>순서에 관계가 있는 경우 기다렸다가 처리하는 등의 로직이 섞여 있음</li>\n<li>사용 가능한 자원을 최대한 활용함으로써 처리 속도를 상승시킴</li>\n</ul>\n</li>\n<li>멀티 코어 아키텍처\n<ul>\n<li>실행 유닛 하나에 CPU를 여러 개 사용하는 기법</li>\n<li>암달의 법칙(Amdahl’s Law): 멀티 코어에서 작동하도록 설계된 프로그램이더라도 하나의 코어에서 실행해야 되는 부분이 존재하므로,\n이 루틴이 코어를 더 투입하더라도 성능이 더 좋아지지 않는 병목으로 작용한다는 법칙이다.</li>\n<li>파이썬에서는 GIL(Global Interpreter Lock) 때문에 코어를 여러 개 활용하기 쉽지 않음. GIL은 한 번에 명령 하나만 실행하도록 강제하는 파이썬 고유의 인터프리터 법칙으로\n다수의 코어를 사용하더라도 한 번에 명령 하나만 처리하기 때문에 멀티 코어를 사용하는 장점이 사라진다.</li>\n<li>멀티 코어를 사용하기 위해서는 파이썬 내장 라이브러리인 multiprocessing 혹은 ray, numpy or numexpr, cython 등을 사용할 수 있음</li>\n</ul>\n</li>\n</ul>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Basic Computer System"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"※ 본 포스팅의 내용은 "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"고성능 파이썬 (High Performance Python)"}]},{"type":"text","value":" 책을 읽고 공부한 내용을 기록한 포스트입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"컴퓨터를 구성하는 3 요소\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"연산 장치 (CPU) => 초당 얼마나 많이 계산 가능한지"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"메모리 장치 (RAM, Hard-Drive) => 데이터를 얼마나 많이 저장할 수 있으며, 얼마나 빠르게 읽고 쓸 수 있는지"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"연결 장치 (BUS) => 장치 간에 데이터를 얼마나 빠르게 옮길 수 있는지"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"연산 장치"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"컴퓨터의 가장 핵심적인 장치로 입력되 bit를 다른 bit로 변환하거나 프로세스 상태를 변경하는 기능을 제공한다.\n일반적인 연산 장치는 CPU지만 최근에는 인공지능 모델 학습에 잘 쓰이는 GPU가 인기를 끌고 있다. 연산 장치 성능의 핵심은 한 사이클에 처리할 수 있는 연산의 개수와 1초에\n처리할 수 있는 사이클의 횟수이다. 한 사이클에 처리할 수 있는 연산의 개수는 **IPC(Instructions Per Cycle)**로 측정하고,\n초당 사이클 횟수는 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"클럭 속도"}]},{"type":"text","value":"로 측정한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"이 두 개념은 CPU의 주 성능 지표이다. 어떤 CPU는 IPC 값이 높지만 클럭 속도가 느리고, 어떤 CPU는 반대인 경우도 있으며,\nGPU는 클럭 속도가 빠르고 IPC 값도 크지만 다른 문제에서 병목 현상이 발생한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"클럭 속도를 높이면 초당 연산량이 증가하므로 모든 프로그램의 속도가 개선되며, IPC 값이 높아지면 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"벡터화"}]},{"type":"text","value":" 수준이 증가하므로\n처리 성능이 올라간다. 벡터화는 CPU가 여러 데이터를 입력받아 한 번에 처리할 때 발생하는데, 이런 명령을 **SIMD(Single Instruction Multiple Data)**라고 한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"연산 장치 관련 기술"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Hyperthreading\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"OS에 가상의 두 번째 CPU를 인식시키고 단일 CPU의 실행 유닛에 두 스레드를 번갈아 가며 실행하도록 하는 기법"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"단일 스레드 대비 30%까지 성능을 끌어올릴 수 있음"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"두 스레드가 서로 다른 실행 유닛을 사용할 때 (Ex-한 스레드는 실수 연산, 다른 스레드는 정수 연산을 할 때) 잘 작동"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"비순차적 명령어 처리 (Out-of-order Execution) - Pipeline\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"이전 작업의 결과에 영향을 받지 않는 부분을 찾아내서 두 작업을 순서와 관계없이 실행하거나 동시에 실행하는 기법"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"순서에 관계가 있는 경우 기다렸다가 처리하는 등의 로직이 섞여 있음"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"사용 가능한 자원을 최대한 활용함으로써 처리 속도를 상승시킴"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"멀티 코어 아키텍처\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"실행 유닛 하나에 CPU를 여러 개 사용하는 기법"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"암달의 법칙(Amdahl’s Law): 멀티 코어에서 작동하도록 설계된 프로그램이더라도 하나의 코어에서 실행해야 되는 부분이 존재하므로,\n이 루틴이 코어를 더 투입하더라도 성능이 더 좋아지지 않는 병목으로 작용한다는 법칙이다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"파이썬에서는 GIL(Global Interpreter Lock) 때문에 코어를 여러 개 활용하기 쉽지 않음. GIL은 한 번에 명령 하나만 실행하도록 강제하는 파이썬 고유의 인터프리터 법칙으로\n다수의 코어를 사용하더라도 한 번에 명령 하나만 처리하기 때문에 멀티 코어를 사용하는 장점이 사라진다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"멀티 코어를 사용하기 위해서는 파이썬 내장 라이브러리인 multiprocessing 혹은 ray, numpy or numexpr, cython 등을 사용할 수 있음"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]}],"data":{"quirksMode":false}},"excerpt":"Basic Computer System ※ 본 포스팅의 내용은  책을 읽고 공부한 내용을 기록한 포스트입니다. 컴퓨터를 구성하는 3 요소 연산 장치 (CPU) => 초당 얼마나 많이 계산 가능한지 메모리 장치 (RAM, Hard-Drive…","fields":{"readingTime":{"text":"5 min read"}},"frontmatter":{"title":"Basic Computer System - 연산 장치","userDate":"4 January 2022","date":"2022-01-04T10:00:00.000Z","tags":["cs"],"excerpt":null,"image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","backgroundColor":"#085878","images":{"fallback":{"src":"/static/701ec19008a764b7dd4bccbc63d2efdc/ef255/computer_architecture.png","srcSet":"/static/701ec19008a764b7dd4bccbc63d2efdc/76a4f/computer_architecture.png 750w,\n/static/701ec19008a764b7dd4bccbc63d2efdc/a902f/computer_architecture.png 1080w,\n/static/701ec19008a764b7dd4bccbc63d2efdc/61156/computer_architecture.png 1366w,\n/static/701ec19008a764b7dd4bccbc63d2efdc/ef255/computer_architecture.png 1592w","sizes":"100vw"},"sources":[{"srcSet":"/static/701ec19008a764b7dd4bccbc63d2efdc/66907/computer_architecture.webp 750w,\n/static/701ec19008a764b7dd4bccbc63d2efdc/27610/computer_architecture.webp 1080w,\n/static/701ec19008a764b7dd4bccbc63d2efdc/90004/computer_architecture.webp 1366w,\n/static/701ec19008a764b7dd4bccbc63d2efdc/0d756/computer_architecture.webp 1592w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.75}}},"author":[{"id":"Soohwan Kim","bio":"Co-founder/A.I. engineer at TUNiB.","avatar":{"children":[{"gatsbyImageData":{"layout":"fullWidth","backgroundColor":"#282838","images":{"fallback":{"src":"/static/a9e6b445142b247ee4cfa66155398bb2/0d6f4/soohwan.png","srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/248f9/soohwan.png 40w,\n/static/a9e6b445142b247ee4cfa66155398bb2/fd435/soohwan.png 80w,\n/static/a9e6b445142b247ee4cfa66155398bb2/0d6f4/soohwan.png 120w","sizes":"100vw"},"sources":[{"srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/e7f45/soohwan.webp 40w,\n/static/a9e6b445142b247ee4cfa66155398bb2/589ec/soohwan.webp 80w,\n/static/a9e6b445142b247ee4cfa66155398bb2/71a38/soohwan.webp 120w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6833333333333333}}]}}]}},"relatedPosts":{"totalCount":2,"edges":[{"node":{"id":"2fb78d50-21cf-599b-bceb-3c9d55e25794","excerpt":"Basic Computer System ※ 본 포스팅의 내용은  책을 읽고 공부한 내용을 기록한 포스트입니다. 컴퓨터를 구성하는 3 요소 연산 장치 (CPU) => 초당 얼마나 많이 계산 가능한지 메모리 장치 (RAM, Hard-Drive…","frontmatter":{"title":"Basic Computer System - 연산 장치","date":"2022-01-04T10:00:00.000Z"},"fields":{"readingTime":{"text":"5 min read"},"slug":"/cs-basic/"}}},{"node":{"id":"61aff6c9-e964-55bc-a2e5-a81e6ea368b1","excerpt":"Computer Architecture Review 오랜만에 컴퓨터 구조에서 배운 내용을 조금 복습해보며 감을 잡기 위함 컴퓨터가 코드를 처리하는 과정 Read Code Assembly 변환 CPU에서 실행 CPU에서 하나의 명령(Ex) Add…","frontmatter":{"title":"Computer Architecture Review","date":"2021-02-05T10:00:00.000Z"},"fields":{"readingTime":{"text":"2 min read"},"slug":"/computer-ar-review/"}}}]}},"pageContext":{"slug":"/cs-basic/","prev":{"excerpt":"고성능 파이썬 (High Performance Python) 신년 첫 개발 서적으로 고성능 파이썬 (High Performance Python…","frontmatter":{"title":"고성능 파이썬 (High Performance Python)","tags":["book","review"],"date":"2022-01-03T10:00:00.000Z","draft":false,"excerpt":null,"image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,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"},"images":{"fallback":{"src":"/static/27c5d7e91982a2f9e17512259c9fe11a/35c4e/hp.png","srcSet":"/static/27c5d7e91982a2f9e17512259c9fe11a/76f6c/hp.png 750w,\n/static/27c5d7e91982a2f9e17512259c9fe11a/cb930/hp.png 1080w,\n/static/27c5d7e91982a2f9e17512259c9fe11a/87f86/hp.png 1366w,\n/static/27c5d7e91982a2f9e17512259c9fe11a/35c4e/hp.png 1920w","sizes":"100vw"},"sources":[{"srcSet":"/static/27c5d7e91982a2f9e17512259c9fe11a/4c1cf/hp.webp 750w,\n/static/27c5d7e91982a2f9e17512259c9fe11a/2eb44/hp.webp 1080w,\n/static/27c5d7e91982a2f9e17512259c9fe11a/120d8/hp.webp 1366w,\n/static/27c5d7e91982a2f9e17512259c9fe11a/31d0c/hp.webp 1920w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":1.3333333333333333}}},"author":[{"id":"Soohwan Kim","bio":"Co-founder/A.I. engineer at TUNiB.","avatar":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAADjElEQVQ4y23Oy48TdQDA8TExEaTttvSBfdHddru7bWc6bWd+8+i0u23n0SdlBRQXZGHDgiiLDwgqXjCIJEaC8cLBmHgwUU9EYzRqQuLJi/4NJB6NF+8evgbOHr7XT76SM5ix7s4QnRHnnm9yZzvBTIswN8JcP5bC67ZoWi7CdtFsn5bloZo+dSNAMYbIIqCmD6mJIVXdR3J6I7r9IQ3T59pZlW+uxzndCbPdC/HZXoq3TikowsfqBOjOmFZ7SrM9p2kfRbXn1O0jKNbsSbJ5BMnu9Gl3+qiiz4OPSvz0QRLHFGwOZH6+neLHT5YRbRerM0J0JrTas/8FZXNKzZgg2es+ZtvDdbs8+iHJl+9lWVP7OG2br26k+PvXJCfmFqoYIpwhTXtMwxpTN0coxhjFmCKbE2rGmKoYPQY9qi2fyzsq//4e5sNXi5TlLqbd5t6lPH/9kuDTG2usqgGi7dO0hzSsIXUzQDaGKGKMLEZUxZCKCJB02+PUpMH9vQwP7ybYnSxyfNrjwumA3dEiD94v8cfnK7xzWsbpujQtH9X0qBs+iuEjC5+a7lPVPSqai9SyelyYFbjkh5hqC3TkKOutLON2nkYpgtuMcT6IszdPslo8SLlcpmUH1A0XRQyQhUtNuFQ1l4o2QFI1h3OTVXbcg+grIfSVBRqlEGopgrYSRi0e4KiIse1mScSeopA/iLADmoZL3Rgg631q+oCq1qeq95FOzhQefpzn7eMpBmqcoBVj04pzwkky0eNMRYIdL8F3twusLe2nslrE6g5pGX1U8/FhD1nvUW1tUJK7SH9+n+DR1zF2vQSvH0lz88wiV45V2J1WuHqsxLXNAnuzNJdfWmK5/BylUgFhb6DZAxR9g7rpIos+Wttja2uE9M9vYb69k+DqfJErWzLOuoVqdKlpDo4jODms4zlFckuHObx4iHwuRi6fYqmYY201x/LqMrnFDNl8gRvvukhNdT9394rcOlNFMxrUhYFmW9imTEsp0mhWKC2nWSokyWSiFA7HSKcXiEb34fayyLVniUQk8rmn2drKIqlqiNcuVrh2ymQS1Nh8sc/GoMEbl7u8eb5D1yqTzkRJJsOkkiGymQVShyLE4yHWKnEq1RjpTIhmI8r2y3mkyloI38uha1n6bpVXrkw5+4LD/S/2uHnrIopaJhZ9hmQqwqHkAXJP8BDhyD46ZoWdMxOGcx/PNfECk/8AbxXdRjRliPoAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png","srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/34f77/soohwan.png 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/a94f6/soohwan.png 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png 1148w","sizes":"100vw"},"sources":[{"srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/38420/soohwan.webp 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7470d/soohwan.webp 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/b5ef6/soohwan.webp 1148w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6829268292682927}}}}]},"fields":{"readingTime":{"text":"2 min read"},"layout":"","slug":"/highperformance-python/"}},"next":{"excerpt":"Generation with Retrieval 이번에 딥마인드에서 RETRO(Retrieval-Enhanced Transformer) 라는 모델을 내놓았습니다. 문서 retrieval + GPT 기반 모델인데,\n7B 모델임에도 불구하고 2…","frontmatter":{"title":"Sooftware NLP - Generation with Retrieval","tags":["nlp","paper"],"date":"2022-01-04T23:00:00.000Z","draft":false,"excerpt":null,"image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC4ElEQVQ4y1WT6W8aRxiH+dtbRWmrqB+qtHKkSkkhvrENmMMX5jC7XAbsAIYF9gKW+zQJDod5KhbXbV/p0TsajZ6Z32jGMhm36elhRobIoC68MjREenqIr6Mm/9R4MiKnpsnrafLaC3qarHaLbEisnldYBkaCcfEdJeEN7S/vMNK/mF1P/sy08itN2c/ieSNMSCH8lUOCsoOAfELwhZDi4Kpop9VrYOnVYiz031ATP1EI/4Aaf0vx5keU2Fuov6dRvqTdHZrClHJDWHUSrfn+h1j1ElZc1FoalnFfZ6C6GOseBuopfdnFUHMz0r10Kyc89hVm8yWNeoPAnQeh6saT3uVY/IQ7tY0rYSMsu0xhvaVjWT6v0JsjKvUBijE0WY+NziP/LVVWuUg6zLjbV1vYzv/gSPjIjv8DruRnbrRTamthWW+yF3hg159l7/qFQB7bWYrbrGTKJpMJT9PvZDTBjCxoHgTdQ0TzIOpek9fI96Uqu/4c7oSGPfTwykEgx1GkTLXZ52n6jW+TKclyGL98aEpDqmPTFQdhzcmVZKfRqWPJlqrYztKcZRrsXGY4jkjsXN5h8yY4DEvk1Q6P4yGz2ZzBuEu6IpBRRDKyQLwY5E6JkpYjFPQ7lssllmy5ivUsxcV9ixOhxPZ5ik/uqHlKd8ogkZUZDnqvd7lcwmoF8/mKWm3zRheLzdy6LPeSjtWXIlgc4RArWD1xbL6kKb/KD7l90GC1NBc3cjHa4jGG6KAZdaAHD2hGnXTiLhqik3Gvg0WpNrB6kzijClZvHHu4wP51lr/cUQ5CRbJKC1ixPkAzec4stofk2iJ39J7y6QfKp1tMxH2m0X26NQXLeuecpGIPFdi7zuGMqWa3+m6xRyoU1U2stbCRvOCrsM1T4gjV9ycPJ7/TDX7mKWFndLNDz9A2wnU1OwPkWhtlTb1johkd5vPFv3+516ajFOhqEn29RL9aoqdJdLUiXb3EfPadvwEpp4u3LipZAQAAAABJRU5ErkJggg=="},"images":{"fallback":{"src":"/static/37530fc680166ef6d64a040fedb23876/7eb21/fid.png","srcSet":"/static/37530fc680166ef6d64a040fedb23876/41321/fid.png 750w,\n/static/37530fc680166ef6d64a040fedb23876/22692/fid.png 1080w,\n/static/37530fc680166ef6d64a040fedb23876/7eb21/fid.png 1344w","sizes":"100vw"},"sources":[{"srcSet":"/static/37530fc680166ef6d64a040fedb23876/3df03/fid.webp 750w,\n/static/37530fc680166ef6d64a040fedb23876/cd184/fid.webp 1080w,\n/static/37530fc680166ef6d64a040fedb23876/2e84a/fid.webp 1344w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6607142857142857}}},"author":[{"id":"Soohwan Kim","bio":"Co-founder/A.I. engineer at TUNiB.","avatar":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAADjElEQVQ4y23Oy48TdQDA8TExEaTttvSBfdHddru7bWc6bWd+8+i0u23n0SdlBRQXZGHDgiiLDwgqXjCIJEaC8cLBmHgwUU9EYzRqQuLJi/4NJB6NF+8evgbOHr7XT76SM5ix7s4QnRHnnm9yZzvBTIswN8JcP5bC67ZoWi7CdtFsn5bloZo+dSNAMYbIIqCmD6mJIVXdR3J6I7r9IQ3T59pZlW+uxzndCbPdC/HZXoq3TikowsfqBOjOmFZ7SrM9p2kfRbXn1O0jKNbsSbJ5BMnu9Gl3+qiiz4OPSvz0QRLHFGwOZH6+neLHT5YRbRerM0J0JrTas/8FZXNKzZgg2es+ZtvDdbs8+iHJl+9lWVP7OG2br26k+PvXJCfmFqoYIpwhTXtMwxpTN0coxhjFmCKbE2rGmKoYPQY9qi2fyzsq//4e5sNXi5TlLqbd5t6lPH/9kuDTG2usqgGi7dO0hzSsIXUzQDaGKGKMLEZUxZCKCJB02+PUpMH9vQwP7ybYnSxyfNrjwumA3dEiD94v8cfnK7xzWsbpujQtH9X0qBs+iuEjC5+a7lPVPSqai9SyelyYFbjkh5hqC3TkKOutLON2nkYpgtuMcT6IszdPslo8SLlcpmUH1A0XRQyQhUtNuFQ1l4o2QFI1h3OTVXbcg+grIfSVBRqlEGopgrYSRi0e4KiIse1mScSeopA/iLADmoZL3Rgg631q+oCq1qeq95FOzhQefpzn7eMpBmqcoBVj04pzwkky0eNMRYIdL8F3twusLe2nslrE6g5pGX1U8/FhD1nvUW1tUJK7SH9+n+DR1zF2vQSvH0lz88wiV45V2J1WuHqsxLXNAnuzNJdfWmK5/BylUgFhb6DZAxR9g7rpIos+Wttja2uE9M9vYb69k+DqfJErWzLOuoVqdKlpDo4jODms4zlFckuHObx4iHwuRi6fYqmYY201x/LqMrnFDNl8gRvvukhNdT9394rcOlNFMxrUhYFmW9imTEsp0mhWKC2nWSokyWSiFA7HSKcXiEb34fayyLVniUQk8rmn2drKIqlqiNcuVrh2ymQS1Nh8sc/GoMEbl7u8eb5D1yqTzkRJJsOkkiGymQVShyLE4yHWKnEq1RjpTIhmI8r2y3mkyloI38uha1n6bpVXrkw5+4LD/S/2uHnrIopaJhZ9hmQqwqHkAXJP8BDhyD46ZoWdMxOGcx/PNfECk/8AbxXdRjRliPoAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png","srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/34f77/soohwan.png 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/a94f6/soohwan.png 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png 1148w","sizes":"100vw"},"sources":[{"srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/38420/soohwan.webp 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7470d/soohwan.webp 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/b5ef6/soohwan.webp 1148w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6829268292682927}}}}]},"fields":{"readingTime":{"text":"6 min read"},"layout":"","slug":"/fid_and_rag/"}},"primaryTag":"cs"}},
    "staticQueryHashes": ["3170763342","3229353822"]}