2024년 1분기 랜섬웨어 공격 건수
Z세대 : 결제의 미래 (Gen Z: the future of spending)
2020~2024년 오라클 JDK 배포판 사용률 변화
비밀번호 관리를 ‘기억’에 맡기는 사용자
2022Q1부터 2023Q1까지 랜섬웨어 피해자 증가율
러스트는 프로그래머에게 가비지 수집 없이, 머신 네이티브 속도로 실행되는 메모리 안전 소프트웨어를 작성할 수 있는 방법을 제공한다. 그러나 마스터하기 복잡한 언어이기도 하고, 초기 학습 난이도도 상당히 높다. 러스트에 입문하는 개발자는 물론 숙련된 러스트 개발자도 숙지해야 하는 6가지 주의 사항을 살펴보자. 러스트 코드 작성 시 알아야 할 6가지 주의 사항 빌림 검사기를 끌 수 없음 바인딩하려는 변수에 '_'를 사용하지 말 것 클로저의 수명 규칙은 함수와 다름 빌림이 만료될 때 항상 소멸자가 실행되는 것은 아님 안전하지 않은 것과 한계 없는 수명에 주의 .unwrap()은 오류 처리 제어를 포기함 빌림 검사기를 끌 수 없음 소유권, 빌림, 수명은 러스트에 내장된 요소로, 러스트 언어가 가비지 수집 없이 메모리 안전을 유지하는 방법에 있어 필수적인 부분이다. 몇몇 다른 언어는 안전 또는 메모리 문제를 개발자에게 알리되 코드 컴파일은 그대로 허용하는 코드 검사 툴을 제공하지만 러스트의 작동 방식은 다르다. 러스트 컴파일러의 일부분으로 모든 이 유효한지 확인하는 빌림 검사기(borrow checker)는 끌 수 있는 선택적 유틸리티가 아니다. 빌림 검사기에서 유효한 것으로 확인되지 않은 코드는 무슨 일이 있어도 컴파일되지 않는다. 빌림 검사기를 붙잡고 씨름하지 않는 방법에 대한 내용으로만 따로 기사 하나를 써도 될 정도다. 예제로 보는 러스트(Rust by Example)의 에서 이 규칙이 많은 일반적인 동작에서 어떻게 작용하는지 읽어볼 것을 권한다. 러스트를 처음 시작하는 단계에서는 언제든 .clone()을 사용해 복사본을 만드는 방법으로 소유권 문제를 피할 수 있음을 기억하라. 프로그램에서 성능 집약적인 부분이 아니라면 복사본을 만든다 해도 측정될 정도의 영향은 거의 없다. 이렇게 하고, 최대한의 성능이 실제로 필요한 부분에 집중하면서 프로그램의 이런 부분에서 빌림과 수명의 효율성을 더 높일 방법을 알아낼 수 있다. 바인딩하려는 변수에 '_'를 사용하지 말 것 _(밑줄 하나) 변수 이름은 러스트에서 특수하게 동작한다. 이 이름은 변수가 받는 값이 변수에 바인딩되지 않음을 의미하므로 일반적으로 즉시 폐기될 값을 받는 용도로 사용된다. 예를 들어, must_use 경고를 띄우는 항목이 있을 때 이 경고가 나오지 않도록 하기 위해 흔히 _을 할당한다. 값이 사용되는 문보다 더 오래 지속되는 값에는 밑줄을 사용하면 안 된다. 범위(scope)가 아니라 문(statement)에 관한 이야기임에 유의하라. 주의해야 할 시나리오는 범위를 벗어날 때까지 무언가를 유지하고자 하는 경우다. 다음과 같은 코드 블록을 보자. let _ = String::from(" Hello World ").trim(); 생성된 문자열은 문 이후 즉시 범위를 벗어나게 된다. 즉, 블록 끝까지 유지되지 않는다(메서드 호출은 컴파일에서 결과가 생략되지 않도록 하기 위한 것). 이 함정을 피하는 쉬운 방법은 범위의 끝까지 유지하되, 그 외에는 그다지 사용할 계획이 없는 할당에 대해 _user 또는 _item과 같은 이름만 사용하는 것이다. 클로저의 수명 규칙은 함수와 다름 이 함수를 보자. fn function(x: &i32) -> &i32 { x } 함수의 반환 값에 대해 이 함수를 클로저로 표현하려고 시도할 수 있다. fn main() { let closure = |x: &i32| x; } 문제는 이렇게 하면 작동하지 않는다는 것이다. 클로저의 입력과 출력 수명이 다르기 때문에 컴파일러에서 lifetime may not live long enough 오류가 발생한다. 이 문제를 피하는 방법 중 하나는 다음과 같이 정적 참조를 사용하는 것이다. fn main() { let _closure: &dyn Fn(&i32) -> &i32 = &|x: &i32| x; } 별도의 함수를 사용하면 더 장황해지지만 이와 같은 문제는 피할 수 있다. 범위가 더 명확해지고 시각적으로 파싱하기가 더 쉬워진다. (참고 : 이 섹션의 예제는 러스트 수명에 대한 일반적인 오해에 관한 를 수정한 것이다.) 빌림이 만료될 때 항상 소멸자가 실행되는 것은 아님 러스트에서도 C++와 마찬가지로 형식에 대한 소멸자를 생성할 수 있으며 소멸자는 객체가 범위를 벗어날 때 실행될 수 있다. 그러나 실행이 보장되는 것은 아니다. 빌림이 특정 객체에 대해 만료될 때 역시 마찬가지다. 뭔가에 대해 빌림이 만료된다고 해서 소멸자가 항상 실행되지는 않는다. 사실 단지 빌림이 만료되었다고 해서 소멸자가 실행되는 것을 프로그래머가 원하지 않는 경우도 있다(예를 들어 뭔가에 대한 포인터를 유지하고 있는 경우). 러스트 문서에는 소멸자 실행을 보장하는 방법, 그리고 이 있다. 안전하지 않은 것과 한계 없는 수명에 주의 unsafe라는 키워드는 원시 포인터 역참조와 같은 동작을 수행할 수 있는 러스트 코드에 태그를 붙이기 위해 존재하는 키워드다. 러스트에서 자주 할 필요가 없는 종류의 작업이지만(하지 않는 것이 좋음!) 꼭 해야 하는 경우 많은 잠재적 문제가 따라온다. 예를 들어, unsafe 연산에 의해 생성된 원시 포인터 역참조는 으로 이어진다. 안전하지 않은 러스트에 관한 책인 러스토노미콘(Rustonomicon)은 한계 없는 수명이 "컨텍스트가 요구하는 만큼 커진다"라고 경고한다. 즉, 원래 필요했거나 의도했던 것 이상으로, 예상치 못하게 커질 수 있다. 한계 없는 참조를 사용해서 수행되는 작업을 세심하게 살핀다면 문제는 없을 것이다. 그러나 안전을 위해서는 함수 범위 내에서 멋대로 움직이도록 두는 것보다는 역참조된 포인터를 함수에 넣고 함수 경계에서 수명을 사용하는 편이 더 좋다. .unwrap()은 오류 처리 제어를 포기함 연산이 Result를 반환할 때마다 이를 처리하는 두 가지 기본적인 방법이 있다. 하나는 .unwrap() 또는 그 사촌 중 하나(예를 들어 .unwrap_or())를 사용하는 방법, 다른 하나는 완전한 match 문을 사용해서 Err 결과를 처리하는 방법이다. .unwrap()의 큰 장점은 편리함이다. 현재 코드 경로에 오류 조건이 발생할 일이 없거나, 오류 조건이 발생해도 어차피 처리하는 것이 불가능한 경우 .unwrap()을 사용해서 필요한 값을 얻고 할 일을 계속 하면 된다. 이 편리함에는 대가가 따른다. 모든 오류 조건은 을 일으키고 프로그램을 중단시킨다. 러스트의 패닉은 복구할 수 없는데, 패닉은 프로그램의 실제 버그를 가리킬 만큼 잘못된 부분이 있다는 신호이기 때문이다. .unwrap() 또는.unwrap()의 변형 중 하나인 .unwrap_or() 등을 사용하는 경우 제한적인 오류 처리 역량만 갖게 된다는 점에 유의해야 한다. OK 값이 생성할 만한 형식에 부합하는 종류의 값을 전달해야 한다. match를 사용하는 경우 단순히 적절한 형식을 생산하는 것보다 훨씬 더 높은 동작 유연성을 확보할 수 있다. 주어진 프로그램 경로에서 그러한 유연성이 필요할 일이 없다고 판단된다면 .unwrap()도 괜찮다. 그렇다 해도, 먼저 전체 match 문을 작성해서 처리 작업에서 간과한 측면이 있는지 확인해볼 것을 권한다. editor@itworld.co.kr
구글 모바일 운영체제 안드로이드의 최신 버전 출시가 멀지 않았다. 새로운 안드로이드 15는 5월에 열리는 구글 I/O 행사에서 공개된 후 올해 말 픽셀 9 제품군과 함께 출시될 가능성이 높다. 안드로이드 15는 현재 이 확인됐다. 안드로이드 15는 전면적 변화가 아닌 소규모 업데이트일 가능성이 높지만, 그래도 기대할 만한 10가지 새로운 기능이 있다. 위성 메시지 애플은 최근 일부 아이폰에 위성 통신을 사용해 네트워크가 닿지 않는 외딴 지역에 있을 때 긴급 전화를 걸 수 있는 기능을 도입했다. 이 기능은 안드로이드 15에서 제공되지 않지만 위성을 통해 SMS와 MMS 등 메시지를 보낼 수 있는 기능은 제공될 예정이다. 이 기능은 모험을 좋아하거나 통신망을 벗어난 곳에서 안전하게 시간을 보내고 싶을 때 유용하다. 단, 휴대폰에 내장된 특정 하드웨어가 필요한지 여부가 불확실하므로 서비스가 어떻게 작동할지는 더 지켜봐야 한다. 더 빠른 NFC 결제 구글은 안드로이드 15의 NFC 결제 기능을 개선해 프로세스를 더 빠르고 편리하게 만든다는 구상이다. 예를 들어 휴대폰이 다른 NFC 기기와 통신하는 것처럼 보이지만 사용자가 화면을 탭해 결제를 확인해야 실제 결제가 이뤄지게 바뀐다. 작은 변화이지만 자주 사용하게 될 기능이다. 더 쉬운 구글 페이 대체 서비스 선택 안드로이드 14에서는 이미 구글 페이 대신 은행의 자체 비접촉 결제 앱을 기본 지갑으로 선택할 수 있지만, 설정하는 데 조금 어려워하는 사용자가 있었다. 이 설정이 안드로이드 15의 첫 번째 베타 릴리스에서 조정되어 훨씬 더 간단해졌다. 이 설정은 이제 NFC 섹션에 묻혀 있지 않고 기본 앱 섹션에서 찾을 수 있다. 앱 화면 공유 이제 전체 디스플레이가 아닌 사용 중인 앱만 화면을 공유할 수 있다. 이 기능은 2023년 말 픽셀 8과 8 프로에 처음 적용됐다. 하지만 안드로이드 15에서는 모든 기기에서 사용할 수 있는 기능이 될 예정이다. 개선된 PDF 보기와 편집 구글은 내장 PDF 리더에서 PDF 렌더링과 처리를 개선하기 위해 노력해 왔다. 따라서 안드로이드 15에서는 문서를 더 빠르게 보여줄 뿐만 아니라 주석, 양식 편집, 비밀번호 보호와 같은 기능을 기본적으로 지원한다. 카메라 성능 개선 안드로이드 15 베타 버전에는 카메라에 대한 몇 가지 미묘한 업그레이드가 포함되어 있다. 그중 하나는 새로운 자동 노출 기능인 '저조도 부스트'로, 야간 촬영 결과물을 미리 볼 수 있다. 또한 플래시의 밝기를 조정하고 화이트아웃을 방지할 수 있는 더 세분화된 플래시 컨트롤도 새로 추가됐다. 오디오 이퀄라이제이션 또 다른 새로운 기능은 '음량 조절'이다. 사용 중인 미디어의 볼륨을 모니터링하고 조정해 모두 거의 같은 볼륨을 갖도록 한다. 조용히 녹음된 음악을 듣다가 실수로 유튜브를 열었다가 광고 때문에 귀가 먹먹해지는 일을 피할 수 있다. 알림 쿨다운 연속되는 휴대폰 알림이 부담스러울 때는 안드로이드 15의 쿨다운 기능을 사용해 휴식을 얻을 수 있다. 이 설정은 같은 앱에서 알림을 연달아 보내는 것을 방지한다. 앱이 단시간에 많은 알림을 보내면 나중에 오는 알림은 기본적으로 무음으로 설정된다. 화면 녹화 감지 보안을 개선하는 사용자에게 언제나 환영할 만한 일이고, 시스템 활동에 대한 새로운 모니터링 기능 역시 마찬가지다. 안드로이드 15에서는 앱이 사용 중에 화면을 녹화하는지 감지할 수 있다. 이를 통해 실수로 또는 악성코드를 통해 민감한 데이터가 녹화되는 것을 막을 수 있다. 새로운 헬스 커넥트 앱 헬스 커넥트(Health Connect) 앱은 안드로이드 14의 베타 기능이었는데, 안드로이드 15에서 정식 기능으로 포함될 전망이다. 이름에서 알 수 있듯이 사용자가 다양한 서드파티 앱의 건강, 영양 및 피트니스 데이터를 한곳에 표시할 수 있다. 지금가지 안드로이드 15의 가장 흥미로운 새로운 기능 10가지를 소개했다. 이외에도 SDR과 HDR 이미지를 더 쉽게 구분하고, 가상 미디 2.0 기기를 지원하며, 동시에 여러 언어를 더 잘 인식하는 변화도 예고돼 있다. 전반적인 성능과 배터리 수명 개선은 물론이다. 구글은 I/O 기조연설에서 더 흥미로운 기능을 공개할 가능성도 있다. 최신 휴대폰에서는 대부분 안드로이드 15를 사용할 수 있다. 하지만 휴대폰 제조업체에 따라 달라질 수 있다. editor@itworld.co.kr
경쟁적인 게임 플레이를 위한 빠른 유선 게이밍 마우스나 이동 중 게임을 위한 무선 게이밍 마우스, 가격 대비 성능이 좋은 마우스 등 PCWorld는 각 카테고리와 가격대에서 최고의 마우스를 테스트하고 평가해 e스포츠 프로부터 일반 게이머까지 모두를 위한 옵션을 제공한다. 여기서는 PCWorld에서 게이밍 마우스를 테스트하는 방법을 소개한다. 다양한 마우스 중 자신에게 꼭 맞는 제품을 어떤 기준으로 결정해야 하는지 알 수 있을 것이다. 디자인 및 편안함 게이밍 마우스를 처음 접하는 사람에게 게이밍 마우스는 그저 게이밍 마우스일 뿐이다. 하지만 주변기기 마니아들은 잘 안다. 게이밍 마우스는 다양한 모양과 구성, 기능으로 출시된다. 이런 특징에 따라 어떻게 쥐어야 하는지, 어떤 게임에 적합한지, 심지어는 어떤 손에 쥐고 사용해야 하는지 결정된다. PCWorld는 이런 모든 사항을 조사할 뿐 아니라 마우스에 RGB 조명이나 로고가 있는지, 미적으로 보기 좋은 디자인인지 등 디자인이 얼마나 스타일리시한지도 살펴본다. 게이밍 마우스 디자인에서 가장 중요한 것은 편안함이다. 게임을 하다 보면 시간이 금방 지나가고 어깨나 손목에 통증이 생기는 경우가 많기 때문에 각 마우스를 직접 사용해 보고 편안함 정도를 평가한다. 가장 편안한 게이밍 마우스는 장시간 게임을 플레이하는 동안 플레이어의 손을 안정적으로 지지할 수 있도록 높이가 높으며, 돌기나 인체공학적 엄지손가락 받침대와 같은 요소를 갖추고 있는 편이다. 또한 손의 형태에 맞게 윤곽이 잡혀 있다. 크기도 중요하므로 해당 제품이 어떤 손 크기에 가장 적합한지도 고려한다. 다양한 그립 유형에 대한 적합성 마우스 그립은 일반적으로 핑거팁 그립, 팜 그립, 클로 그립 가 좋은 예다. 팜 그립에서는 게이머의 손이 마우스 전체를 따라 쭉 뻗기 때문에 마우스가 적당히 길어야 한다. 와 길게 뻗은 메인 버튼과 뒷면이 낮은 마우스는 클로 그립이나 핑거팁 그립을 사용하는 게이머에게 가장 적합하다. 이런 디자인은 게이머가 마우스 몸체 위로 손을 쉽게 말아 더 멀리서도 트리거할 수 있도록 한다. 센서 마우스 센서는 제조업체들이 핵심 성능으로 강조하는 요소다. 사실 센서는 성능을 결정하는 많은 기능 중 하나에 불과하지만, 그럼에도 불구하고 여전히 매우 중요하다. 센서를 평가할 때는 먼저 사양을 요약한다. 와 같은 마우스는 현재 고성능 게이밍을 위한 최고 사양을 갖춘 대표적인 제품이다. PCWorld는 인치당 도트 수(Dots Per Inch, DPI)로 측정된 최대 해상도, 최대 폴링레이트(1,000Hz~8,000Hz), 마우스의 최대 속도 및 가속도 같은 요소에 관심을 둔다. 일반적으로 이들 요소가 마우스의 최대 성능을 결정하기 때문이다. 실제로 게임을 플레이하는 것 외에는 센서의 성능을 실제로 측정하는 효과적인 방법이 없으므로 PCWorld는 몇 가지 게임 시 사용 경험으로 평가한다. 테스트 플레이에서는 센서의 특성이 주요 성능 지표에 어떤 영향을 미치는지 면밀히 관찰한다. 특히 마우스 DPI가 감도에 어떤 영향을 미치는지, 폴링레이트가 빠른 타겟팅에 어떻게 영향을 미치는지, 마우스가 얼마나 빠르고 정확하게 움직이는지 살펴본다. 이와 함께 마우스의 움직임에서 끊김이나 부드러움의 정도도 확인한다. 이를 통해 센서가 제대로 작동하는지 알 수 있다. 이런 결함은 게임 플레이에 부정적인 영향을 미친다. 버튼 및 무게 프로그래밍할 수 있는 버튼 개수를 보면 최적의 사용례를 알 수 있다. 예를 들어, 16버튼인 와 같은 마우스가 이상적이다. 무게는 항상 그런 것은 아니지만, 버튼 개수에 비례한다. 따라서 가장 빠른 FPS 게임용으로 제작된 마우스는 버튼 수가 매우 적고 초경량이다. 무게가 60g 미만인 마우스도 있다. 어떤 종류의 게이밍 마우스를 사용하든 일반적으로 마우스 무게는 가벼울수록 손과 팔의 피로가 덜하고 마우스를 더 빠르게 움직일 수 있다. 버튼 크기와 위치도 마우스마다 다르므로 이런 요소가 성능에 어떤 도움이 되는지, 어떻게 방해가 되는지 정리한다. 버튼 스위치도 분석한다. 스위치는 버튼 케이스 내부에 있는 작은 판으로, 클릭을 컴퓨터로 전달하는 역할을 한다. 스위치를 분석할 때는 스위치 유형(광학 혹은 기계식), 버튼의 촉감, 클릭 속도, 마지막으로 가장 중요한 부분인 클릭 전달 속도에 중점을 둔다. 여기서도 실제로 게임을 플레이하는 것이 가장 효과적인 평가 방법이다. 무선 게이밍 마우스에서만 살펴보는 것 앞서 설명한 항목은 유선 및 무선 게이밍 마우스에서 모두 중요하다. 하지만 무선 게이밍 마우스에서만 살펴보는 요소가 있다. 가장 중요한 것은 연결성이다. 거의 모든 무선 게이밍 마우스가 지연 시간이 짧은 2.4GHz 와이파이 연결 기능을 갖추고 있지만, 블루투스 또는 유선 연결 기능을 지원하는 것은 일부다. 이런 추가 옵션은 무선 마우스의 활용성을 높여주므로 연결성에서 좋은 점수를 받을 수 있다. 또한 무선 게이밍 마우스는 추가 하드웨어로 인해 유선 마우스보다 상대적으로 무거울 수 있으므로 초경량인 경우에도 좋은 점수를 준다. 마지막으로 게이밍 마우스는 배터리 수명이 길어야 장시간 게임 세션 동안 무선 연결 없이 사용할 수 있으므로 이 역시 중요한 기준이다. 소프트웨어 대부분 게이머는 마우스 구매 시 소프트웨어에 대해서는 크게 생각하지 않는다. 하지만 마우스로 무엇을 할 수 있는지, 어떤 성능을 얻을 수 있는지를 결정하는 데 소프트웨어가 큰 영향을 미칠 수 있다. 실제로 최고의 소프트웨어 앱은 DPI나 폴링레이트와 같은 일반적인 설정을 조정하는 것 이상의 기능을 제공한다. 마우스의 색상과 밝기, 효과 등을 조정하는 옵션부터 매크로 설정, 버튼에 두 번째 명령을 할당하는 기능 등 다른 앱에서는 찾아볼 수 없는 기능을 제공한다. 레이저의 시냅스(Synapse) 앱이 대표적인 예다. 예를 들어, PCWorld는 레이저 코브라 프로를 리뷰할 때 시냅스 앱을 통해 마우스의 리프트 오프 거리(Lift Off Distance, LOD)를 26개의 세분화된 레벨 중에서 조정할 수 있었다. 현재 일부 게이밍 마우스 앱은 23개 레벨을 지원하는 점을 고려했을 때 매우 인상적이었다. 또한 몇 가지 간단한 설정 변경으로 마우스의 배터리 수명을 연장할 수 있는 옵션도 눈에 띄었다. 최종 점수 및 가치 제안 장단점을 모두 고려했다면 이제 가치를 제안할 차례다. 가치 제안은 기본적으로 최고의 기능과 최악의 기능 사이에서 균형을 잡아 적정선으로 생각하는 가격, 그리고 같은 가격대의 경쟁사 게이밍 마우스와 비교했을 때 어느 정도인지로 비교하는 것으로 귀결된다. 프리미엄 마우스에서는 비싼 가격에 걸맞은 다양한 기능과 뛰어난 성능을 기대한다. 로지텍 G 502X처럼 중급 또는 저가 게이밍 마우스도 최적의 기능과 뛰어난 성능을 제공할 수 있다. 기능 및 성능 면에서 가격대를 뛰어넘는 마우스는 뛰어난 가격 대비 성능을 갖춘 '가성비' 마우스로 높은 점수를 받는다. editor@itworld.co.kr
출시 2년이 지난 스틸시리즈 에어록스 3(Aerox 3)(2022)는 여전히 게임 시장에서 큰 사랑을 받고 있다. 에어록스 3의 지속적인 인기는 좋은 디자인과 탄탄한 기술이 시간이 지나도 그 가치를 유지한다는 사실을 증명한다. 하지만 끊임없는 혁신이 특징인 오늘날 환경에서 에어록스 3의 위치는 어떨까? 이 스테디셀러 게이밍 마우스를 자세히 살펴보면 단순한 과거의 유물이 아님을 알 수 있다. 세부 사양 스틸시리즈 에어록스 3의 핵심은 게임에 최적화된 고품질 부품을 결합한 경량화된 구조다. 무게 57g의 이 제품은 특히 혁신적인 벌집 패턴이 돋보이는데, 이는 무게 감소에 기여할 뿐 아니라 집중적인 게임 세션 동안 손의 통기성을 향상시킨다. 하지만 개방형 구조로 인해 마우스 내부로 먼지와 오물이 침투하기 쉽기 때문에 벌집 패턴은 양날의 검이 될 수도 있다. 에어록스 3에는 프로그래밍할 수 있는 버튼이 6개 탑재돼 대부분의 게임과 일상생활에 충분한 유연성을 제공한다. 그중 감도를 빠르게 조정할 수 있는 전용 DPI 버튼은 다양한 장르의 게임에서 정확한 타겟팅과 모션 컨트롤을 빠르게 전환해야 하는 게이머에게 필수적인 기능이다. 총 6개의 프로그래밍 가능한 버튼이 장착된 에어록스 3는 대부분의 게임과 일상생활에 충분한 유연성을 제공한다. 그중에는 감도를 빠르게 조정할 수 있는 전용 DPI 버튼이 있어 다양한 장르의 게임을 즐기고 정확한 타겟팅과 빠른 모션 컨트롤을 빠르게 전환해야 하는 게이머에게 필수적인 기능이다. 옵티컬 센서 및 PTFE 스케이트 최대 8,500 DPI를 지원하는 내장형 '트루무브 코어(TrueMove Core)' 센서는 에어록스 3의 정밀하고 반응이 빠른 1:1 트래킹의 핵심이다. 하드웨어 가속 없이도 정확한 트래킹을 지원해 완벽한 게임 경험을 보장한다. 높은 DPI 수치는 장거리에서 빠르고 정확한 커서 이동이 가능하는 의미다. 대형 모니터나 여러 화면을 사용하는 게이머에게 특히 유용하다. 이런 기술적 특징에 더해 제품 바닥 면에 부착된 PTFE 글라이딩 피트는 움직임을 더 부드럽게 만들어 밀리초가 중요한 빠른 게임에서 이점을 제공한다. 단, 매우 거친 표면에서는 상대적으로 빨리 마모되므로 정기적으로 교체해야 한다. 연결 및 소프트웨어 : 빛과 그림자의 게임 에어록스 3의 연결 및 소프트웨어는 고급 기능과 실용적인 한계가 혼합돼 차별화된 그림을 그려낸다. 인터페이스 기술 측면에서 에어록스 3은 현재 표준인 USB-C 연결을 지원하며, 이는 마우스에 어느 정도 미래지향성을 부여한다. 연결 케이블이 특히 주목할 만한데, 완전히 분리할 수 있을 뿐 아니라 매우 가볍고 유연하다. 게임 중 마우스 움직임 시 있을 수 있는 방해 요소를 최소화할 수 있다. 에어록스 3는 스틸시리즈가 제공하는 소프트웨어 엔진(Engine)을 통해 다양한 설정을 사용자화할 수 있다. DPI 설정과 조명을 조정할 수 있을 뿐 아니라 매크로를 프로그래밍하고 버튼 기능을 개별적으로 구성할 수도 있다. 개인 취향과 특정 게임 또는 애플리케이션의 요구 사항에 따라 바꿀 수 있는 유연성은 게이머에게 큰 가치를 제공한다. 하지만 엔진 소프트웨어에는 단점이 있다. 광범위한 구성 옵션에도 불구하고 사용자들은 사용하기 어색하고 때때로 안정성 문제가 발생한다고 보고한다. 이는 기술에 익숙하지 않은 사용자에게는 장애물이 될 수 있으며, 사용자화 프로세스를 더욱 어렵게 만들 수 있다. 버그 수정과 사용자 경험 개선에 필요한 정기 소프트웨어 업데이트를 귀찮게 여기는 사람도 있을 것이다. 조명 설정도 단점이다. 매력적으로 사용자화할 수 있지만, 설정하는 방법이 생각보다 까다롭고 직관적이지 않다. 스틸시리즈 에어록스 3, 구매해야 할까? 일상적인 사용에서 스틸시리즈 에어록스 3는 기동성과 거의 무게감이 없는 느낌이 인상적이다. 가벼운 무게는 장시간 게임 세션에서 피로를 줄이는 데 도움이 된다. 하지만 특색 있는 벌집 모양 패턴은 단점이 되기도 한다. 구멍을 통해 먼지와 오물이 쉽게 내부로 들어갈 수 있어 정기적인 청소가 필요하다. 또한 측면 그립 표면의 촉감이 구조상 미끄러운 느낌을 줄 수 있어 불편하게 느끼는 사용자가 있을 수 있다. editor@itworld.co.kr
맥을 몇 년 동안 써서 느려졌다고 느껴지면 이제 새 맥을 구매할 때가 됐다고 생각하며 애플 웹사이트를 들락거리게 된다. 하지만 다행히도 속도를 높이기 위해 거액을 쓸 필요는 없다. 새 맥을 구매하기 전에 현재 사용 중인 맥의 성능을 개선하는 간단한 팁을 모았다. 본격적으로 살펴보기 전에 일단 다음과 같은 간단한 팁을 확인하자. 맥을 재시동한다. 한동안 재시동하지 않았다면 RAM/통합 메모리를 최대로 사용 중인 상황일 수 있다. 스토리지를 차지하는 불필요한 파일, 앱, 기타 항목을 삭제한다. 특히 맥의 저장 공간이 10% 미만인 경우 이 작업이 필수다. 문제를 일으키는 소프트웨어가 있다면 소프트웨어를 업데이트한다. 다음 단계에 따라 맥의 속도를 높이고 더 빠르게 실행할 수 있다. 1. 맥 재시동하기 맥 속도가 느려졌을 때 할 수 있는 가장 확실한 방법은 재시동이다. 맥 사용자가 재시동을 하지 않는 이유는 여러 가지가 있을 수 있다. 어쩌면 맥을 재시동하고 사용 하던 앱이 다시 로드될 때까지 기다리기 싫을 수도 있다. 하지만 느려진 속도 문제를 해결하는 것이 일반적으로 가장 먼저 해결해야 할 문제다. 따라서 정기적으로 맥을 재시동하는 것이 좋다. 하루를 마무리할 때 맥을 종료할 지, 잠자기 상태로 둘지는 오랜 역사가 있는 논쟁이다. 과거에는 하드 드라이브를 재시동할 때 발생하는 마모로 인해 컴퓨터 전원을 켜둔 채로 두는 것이 좋다고 권장됐다. 하지만 SSD가 등장한 이후 이런 근거는 없어졌다. 맥을 시동하는 데 걸리는 시간도 예전에는 매우 길었지만 이제는 거의 즉시 시스템이 시작된다. 맥을 끄지 않고 '잠자기' 상태로 두는 가장 큰 장점은 중단한 작업을 나중에 계속할 수 있다는 것이다. 물론 야간에 유지 관리 또는 백업 스크립트를 실행한다면 맥을 깨워둔 상태로 두어야 한다. 반면 맥을 종료했을 때의 이점도 있다. 이런 장점 대부분은 RAM(또는 애플이 통합 메모리라고 부르는) 사용 방식과 관련이 있다. 맥OS는 하드 디스크에 가상 메모리로 실제보다 많은 RAM이 있는 것처럼 활용하는 스왑 파일을 사용한다. 그런데 이 스왑 파일의 수가 5개 정도를 초과하면 맥의 속도가 느려지기 시작한다. 이때는 재부팅하는 것이 좋다. 맥을 재시동하면 캐시가 초기화되고 RAM을 점유하던 응용 프로그램도 해제된다. 결과적으로 맥이 더 빨라진다. 이런 조치로 효과가 없다면 이제 다음 팁으로 넘어가자. 2. 불필요한 앱 종료하기 당연하게 들릴 수도 있지만, 맥을 종료하지 않고 속도를 높이고 싶다면 백그라운드에서 실행 중인 모든 앱을 닫는 것이 가장 좋은 방법이다. 최근에 맥을 종료하지 않고 계속 쓰고 있다면, 맥이 원하는 앱 대신 지난 주 이후에 사용하지 않은 프로그램에 메모리와 CPU 공간을 할애하고 있을 수 있다. 실행 중인 앱을 빠르게 확인하려면 화면 하단의 독을 보면 된다. 실행 중인 프로그램은 그 아래에 점이 표시된다. 이 점이 보이지 않는다면 시스템 설정/시스템 환경설정을 열고 데스크톱 및 독을 클릭한 다음 '열려 있는 애플리케이션에 대한 표시'가 선택되어 있는지 확인한 후 해제돼 있다면 다시 선택하면 된다. 또는 Command+Tab을 눌러 앱 전환기를 불러온 다음 탭해서 앱을 확인할 수 있다. 이렇게 실행 중인 앱 중 불필요한 것을 종료하는 방법은 여러 가지다. 독에서 해당 아이콘을 마우스 오른쪽 버튼으로 클릭(또는 Ctrl 클릭)하고 종료를 선택하거나, 앱 전환기를 사용하는 경우 프로그램을 선택한 후 Command-Q를 누르면 된다. 독에서 아이콘을 마우스 오른쪽 버튼으로 클릭했을 때 강제 종료 옵션이 표시될 수 있는데 오히려 좋은 징후다. 해당 앱 때문에 전체 시스템이 느려지고 있을 가능성이 높으므로 원인을 파악한 셈이다. 옵션이 전혀 표시되지 않거나 실행중을 의미하는 비치볼만 회전하는 경우, 왼쪽 상단 애플 메뉴에서 응답하지 않는 앱을 강제 종료할 수 있다. 왼쪽 상단 애플 로고를 클릭한 다음 강제 종료 옵션을 선택한다. 열려 있는 모든 애플리케이션 목록이 표시되는데, 문제가 되는 애플리케이션을 선택한 후 '강제 종료' 버튼을 누르면 된다. 3. 속도 저하 요인 찾기 일부 앱은 다른 앱보다 전력을 더 많이 소모하고, 때로는 앱 자체의 문제로 시스템 리소스를 필요 이상으로 많이 점유하기도 한다. 어떤 앱이 시스템 리소스를 얼마나 사용하는지 확인하려면 유틸리티 폴더에서 '활성 상태 보기(Activity Monitor)' 앱을 연다. 또는 Command+스페이스바를 누른 상태에서 '활동'을 입력한 다음 엔터키를 눌러도 된다. 활성 상태 보기는 맥의 모든 프로세스를 표시한다. 일부 프로세스는 닫을 수 없거나 닫지 말아야 하므로 주의가 필요한 앱이다. 일단 화면 상단의 메뉴로 이동해 보기 > 윈도우가 열려 있는 프로세스를 클릭한다. 이제 다시 활성 상태 보기로 돌아가 CPU 버튼과 "%CPU" 열을 클릭하면 CPU를 많이 사용하는 모든 프로그램 순서로 나열된다. 이 목록을 통해 각 프로세스가 메모리와 디스크, 네트워크를 얼마나 사용하고 있는지 확인할 수 있다. CPU 전력을 많이 소모하는 앱이 있다면, 마우스로 앱을 선택하고 활성 상태 보기 상단의 메뉴 표시줄에서 X를 클릭해 해당 앱을 강제로 종료할 수 있다. 이렇게 전력을 많이 사용하는 앱은 더 효율적으로 작동하도록 소프트웨어를 수정할 필요가 있을 수 있으므로 업데이트를 확인하는 것도 좋다. 4. 소프트웨어 업데이트하기 맥OS와 맥에 설치된 모든 앱은 정기적으로 업데이트해야 한다. 최신 맥OS 버전을 실행 중인 경우 시스템 설정 > 일반 > 소프트웨어 업데이트로 이동한다. 약간 이전 버전의 맥OS에서는 시스템 환경설정 > 소프트웨어 업데이트로 이동한다. 이제 맥이 업데이트를 확인하는 동안 기다린 후 설치할 업데이트가 있으면 설치한다. 개별 앱에 업데이트가 필요한지도 확인한다. 앱스토어에서 다운로드한 앱에 대한 업데이트가 있는지 확인하려면 앱스토어를 열고 업데이트를 클릭한다. 앱스토어 외부에서 구매한 앱은 별도로 업데이트해야 한다. 맥OS를 최신 상태로 유지하는 방법은 다음과 같다. 시스템 설정 > 일반 > 소프트웨어 업데이트를 클릭한다. 자동 업데이트 옆의 i를 클릭한다. 업데이트 확인, 새 업데이트 다운로드, 맥OS 업데이트 설치가 선택되어 있는지 확인한다. 앱스토어에서 애플리케이션 업데이트 설치가 선택되어 있는지 확인한다. 보안 응답 및 시스템 파일 설치가 선택되어 있는지 확인한다. 5. 저장 공간이 충분한지 확인한다. 맥 성능을 결정하는 요인 중에는 드라이브 여유 공간도 있다. 맥은 스왑 파일을 쓰고 읽을 수 있어야 하므로 여유 공간이 있으면 성능 개선에 도움이 된다. 보통 디스크 드라이브의 10% 이상은 여유 공간이어야 한다. 따라서 맥을 최상의 상태로 실행하고 싶은데 저장 공간에 10% 여유가 없다면 대용량 파일 중 일부를 다른 곳으로 옮겨야 한다. 하드 드라이브에는 대용량 파일과 폴더가 많이 있다. 이메일 파일과 백업, 더 이상 필요하지 않은 오래된 버전의 앱도 있을 수 있다. 맥에 사진을 자주 업로드하고 음악을 다운로드하면 드라이브가 금세 꽉 차게 된다. 사용 가능한 용량을 확인하는 방법은 다음과 같다. 사용하는 맥OS 버전에 따라 다르다. 맥OS 벤츄라 이상에서는 다음과 같다. 시스템 설정 > 일반 > 저장공간을 연다. 사용 중인 저장 용량을 계산하고 사용 중인 항목이 표시되는 동안 기다린다. 애플리케이션 등 콘텐츠 카테고리 옆의 i를 클릭한다. 각 항목을 클릭해 확인한 후 필요하지 않은 경우 삭제한다. 마지막으로 사용한 날짜별로 정렬하면 필요 없는 콘텐츠를 빠르게 찾을 수 있다. 또는 크기별로 정렬하는 것도 도움이 된다. 벤츄라 이전 버전의 맥OS에서는 '이 맥에 관하여'에 저장 공간 옵션이 있어서 공간을 줄이는 작업을 바로 할 수 있었다. 화면 왼쪽 상단의 애플 로고를 클릭해 애플 메뉴를 연다. '이 맥에 관하여'를 클릭한다. 탭에서 저장 공간을 선택한다. 사용 중인 저장 공간의 양을 계산하고 사용 중인 항목을 표시하는 동안 기다린다. 관리를 클릭하면 저장 공간을 최적화하거나 사진 및 동영상을 맥이 아닌 아이클라우드에 저장할 수 있는 옵션이 표시된다. 이밖에 데이지디스크(9.99달러), 왓사이즈(14.99달러) 또는 옴니디스크스위퍼와 같은 유료 소프트웨어를 사용해 디스크 사용량을 확인할 수도 있다. 6. RAM 확보하기 오래 전에는 맥의 성능을 개선하기 위한 방법이 RAM을 더 추가하는 것이었다. 하지만 안타깝게도 최신 맥에서는 메모리가 칩에 내장되어 있어 이런 M 시리즈 맥을 사용하는 경우에는 RAM을 추가하는 것이 불가능하다. 27인치 아이맥 등 구형 맥을 갖고 있다면 비교적 쉽게 RAM을 업그레이드할 수 있지만, 대부분 맥 사용자에게는 해당 사항이 아니므로 일단 RAM을 확보하는 방법부터 살펴보자. RAM을 확보하는 가장 간단한 방법은 맥을 재시동하는 것이지만, 때로는 재시동을 피하고 싶을 때가 있다. 이때는 RAM을 확보하는 데 사용할 수 있는 앱을 사용하거나 활성 상태 보기 앱을 이용하면 된다. 일단 활성 상태 보기 앱부터 시작하자. 활성 상태 보기 앱을 실행한다. 메모리 탭을 클릭한다. 창 하단을 보면 사용 중인 RAM의 양을 확인할 수 있다. 필자의 경우 8GB 중 7GB가 사용 중이다. 메모리라는 제목의 열을 클릭해 RAM을 가장 많이 사용하는 사용자별로 정렬한다. 여기에 표시되는 많은 항목 중 RAM을 많이 사용하는 앱을 골라낸다. 이중 사용하지 않는 앱을 종료하면 RAM을 확보할 수 있다. 독에서 앱을 마우스 오른쪽 버튼으로 클릭하고 종료를 선택하거나 활성 상태 보기 앱에서 해당 앱을 선택한 다음 메뉴에서 X를 클릭하면 된다. RAM을 비우는 데 도움이 되는 서드파티 앱도 있다. 필자가 추천하는 앱은 패러렐즈 툴박스(Parallels Toolbox, 연 24.99달러)다. 메모리를 확보하는 툴과 기타 툴을 번들로 제공한다. 더 저렴한 툴을 찾는다면 데이지디스크(DaisyDisk, 9.99달러)도 있다. 7. 맥의 상태 확인하기 이런 방법으로도 문제가 해결되지 않는다면 맥이 정상적인 상태인지 확인해야 한다. 맥에 기본으로 설치된 디스크 유틸리티를 이용하면 된다. 애플리케이션 > 유틸리티에서 디스크 유틸리티를 실행한다. 왼쪽 목록에서 시동 드라이브를 선택한다. 오른쪽에 있는 검사/복구 탭을 클릭한다. 실행(이전 버전에서는 확인)을 클릭한다. 디스크 유틸리티가 드라이브에서 문제를 발견해 오류를 바로 잡으려면 다른 볼륨에서 부팅해야 한다. 이것이 바로 복구 모드가 있는 이유다. 복구 모드로 부팅하려면 인텔 맥에서는 시작 시 Command+R을 누르고 있어야 하고, M 시리즈 맥에서는 시작 시 전원 버튼을 길게 누르고 있어야 한다. 복구 모드에 들어가면 디스크 유틸리티를 열어 권장되는 복구를 수행할 수 있다. 이외에도 애플 하드웨어 테스트(2013년 6월 이전 맥의 경우) 또는 애플 진단(2013년 6월 이후 맥의 경우)을 실행할 수도 있다. 두 테스트 모두 맥에서 RAM 불량과 같은 하드웨어 문제를 확인한다. 구형 맥에서 속도를 높이는 또다른 방법은 권한을 복구하는 것이다. 최신 맥에서는 필수적인 작업이 아니지만, 이전 버전의 맥OS에서는 가끔씩 권한을 복구해야 했다. 방법은 다음과 같다. 디스크 유틸리티를 열고 사이드바에서 기본 하드 드라이브를 선택한다. 검사/복구 및 권한 복구를 클릭한다. 구형 맥에서 이렇게 하면 맥의 모든 파일에 올바른 권한이 부여돼 문제가 줄어든다. 하지만 2015년 맥 OS X 엘 캐피탄 이후로는 디스크 유틸리티에서 더는 권한 복구 기능을 지원하지 않는다. 엘 캐피탄에 새로 도입된 시스템 무결성 보호(SIP)가 파일에 대한 권한이 수정되는 것을 방지하기 때문에 권한을 복구할 필요가 없다고 애플은 설명한다. 8. 아이클라우드 동기화 정리하기 아이클라우드를 사용해 여러 데스크톱에서 파일을 동기화하고 사진까지 아이클라우드 사진을 이용하는 경우, 시스템이 백그라운드에서 동기화되는 동안 속도가 느려질 수 있다. 이 문제를 해결하는 방법은 여러 가지다. 아이클라우드 데스크톱을 사용하는 경우, 데스크톱 즉 바탕화면에 대용량 문서를 저장하지 말라. 다른 위치에서 액세스해야 하는 경우가 아니라면 대용량 동영상 파일을 데스크톱에 끌어다 놓아서는 안된다. 스크린샷을 저장하는 위치를 변경하는 것도 좋다. 실제로 액세스해야 하는 문서만 아이클라우드 데스크톱에 저장하면 작업 속도가 빨라지고 실제로 동기화해야 하는 파일을 기다리는 시간도 줄일 수 있다. 단, 데스크톱이나 동기화되는 다른 폴더에 저장하지 않으면 아이클라우드에서 사용할 수 없다는 점을 주의해야 한다. 맥에서 아이클라우드 사진을 사용하는데 이미지 동기화 때문에 시스템이 바쁜 상태가 되지 않으려면 애초에 사진 앱을 열지 않는 것이 좋다. 그래도 문제가 해결되지 않으면 해당 기기에서는 아이클라우드 사진 기능을 끄는 것도 좋다. 9. 데스크톱을 깔끔하게 유지하기 또 다른 팁은 맥 데스크톱(바탕화면)을 깔끔하게 유지하는 것이다. 아이클라우드를 사용해 다양한 기기를 동기화하는 경우 데스크톱이 동기화되며, 데스크톱이 어수선하면 동기화하는 데 시간이 오래 걸린다. 데스크톱에 얼마나 많은 데이터가 있는지 확인하려면 파인더를 열고 즐겨찾기에서 데스크톱을 마우스 오른쪽 버튼으로 클릭한 다음 정보 보기를 선택하면 된다. 데스크톱에 10GB 정크 파일이 있다면 뭔가 잘못된 것이다. 문제는 또 있다. 데스크톱에 있는 모든 파일은 아이콘 또는 파일 미리보기와 같은 이미지가 포함된 창이다. 이런 각 창과 그 내용은 RAM에 저장되므로 데스크톱으로 전환하거나 빠른 보기를 사용할 때 맥에서 윈도우에 있는 내용을 표시한다. 즉, 데스크톱에 파일이 많을수록 RAM에 저장되는 데이터도 많아진다. 이로 인해 특히 맥의 메모리가 이미 과부하 상태인 경우 맥이 더 느려질 수 있다. 따라서 문서, 사진, 동영상 등을 적절한 사용자 폴더에 정리하면 맥의 속도가 향상된다. 다행히 맥OS 시에라부터는 데스크톱의 파일을 자동으로 분류해 종류별 또는 날짜별로 모든 파일을 폴더에 자동으로 정리하는 '스택' 기능이 추가됐다. 스택을 열고 수시로 여분의 파일을 삭제하기만 하면 된다. 아직 데스크톱 스택을 설정하지 않았다면 데스크톱을 클릭하고 메뉴에서 보기 > 스택 사용을 선택하면 된다. 10. 스팟라이트 관리하기 스팟라이트(Spotlight)는 맥OS 최신 버전으로 올수록 점점 더 훌륭한 도구다. 하지만 여러 개의 드라이브를 사용하거나 특히 구형 맥에서는 스팟라이트가 파일 시스템을 색인하고 재색인하는 데 꽤 시간이 걸린다. 그만큼 맥 속도가 느려진다. 해결책은 스팟라이트가 색인하는 파일을 제한하는 것이다. 이 작업은 시스템 설정의 시리 및 스팟라이트 패널, 또는 구형 맥의 경우 시스템 환경설정의 스팟라이트 패널에서 할 수 있다. 이 패널을 열면 보통 스팟라이트가 모든 항목을 색인화하는데, 특정 결과를 생략하고 싶다면 생략하도록 설정할 수 있다. 혹은 스팟라이트에서 검색하지 않는 특정 폴더를 설정할 수도 있다. 스팟라이트 개인정보 보호 탭을 클릭하고 검색하지 않으려는 폴더나 볼륨을 끌어다 놓으면 된다. 이렇게 하면 스팟라이트가 해당 폴더 또는 볼륨을 색인하지 않으므로 색인해야 하는 파일 수가 줄어들어 색인하는 데 소요되는 시간이 줄어 들고 맥의 성능이 향상된다. 11. 시작할 때 프로그램이 열리지 않도록 하기 자주 사용하는 프로그램은 맥을 시작할 때 자동으로 실행하도록 설정할 수 있다. 이 기능은 유용하지만, 간혹 로그인할 때 자동으로 열리는 항목에 사용하고 싶지 않은 다른 응용 프로그램이 들어가는 경우가 있다. 맥의 속도를 높이고 싶다면 전원을 켤 때 이런 프로그램이 열리지 않도록 해야 한다. 방법은 다음과 같다. 참고로 특정 프로그램이 백그라운드에서 실행되지 않도록 할 수도 있다. 시스템 설정을 연다. 일반을 클릭한다. 로그인 항목을 클릭한다. 로그인 시 열기 항목에 원하지 않는 항목이 있는 경우 해당 항목을 제거한다. 이전 버전의 맥OS에서 시작 프로그램을 삭제하는 방법은 다음과 같다. 시스템 환경설정을 연다. 사용자 및 그룹을 클릭한다. 이제 로그인 항목 탭을 클릭해 맥을 처음 전원을 켜거나 로그인할 때 실행되도록 설정된 프로그램과 서비스가 있는지 확인한다. 목록에서 원하지 않는 항목을 강조 표시하고 목록 하단의 로그인 항목에서 삭제(-) 버튼을 클릭한다. 12. 시각효과 끄기 대부분 맥은 문제 없이 맥OS를 실행하지만, 맥의 속도에 영향을 주는 일부 기능을 끄면 도움이 된다. 예를 들어, 일부 사용자는 속도 저하를 방지하기 위해 독을 고정 상태로 유지하는 것을 선호한다. 시스템 설정 > 데스크톱 및 독을 열고 다음 상자를 선택 해제한다. 이전 버전에서는 시스템 환경설정 > 독 및 메뉴 막대에 있다. 윈도우 최소화 효과 항목을 '요술램프 지니 효과'를 '크기 효과'로 변경한다. '윈도우 제목 막대를 이중 클릭하여' 항목을 '안 함'으로 설정한다. 13. 파일 볼트 암호화 끄기 파일 볼트(File Vault)를 사용하면 맥에 저장하는 모든 파일을 암호화해 안전하게 보호한다. 하지만 파일을 암호화하고 암호를 해제하는 데 많은 프로세서 역량을 사용한다. 성능이 아쉽다면, 이 기능을 일단 꺼보고 성능에 차이가 있는지 확인하는 것이 좋다. 시스템 설정을 클릭한다. 개인정보 및 보안으로 이동한다. 파일 볼트를 클릭한다. 끄기를 클릭한다. 14. 삭제, 삭제, 삭제 저장 공간이 부족한 것이 문제라면, 맥에서 공간을 확보할 수 있는 몇 가지 빠른 방법이 있다. 휴지통 비우기 : 독에서 휴지통을 마우스 오른쪽 버튼으로 클릭하고 휴지통 비우기를 선택한다. 자동으로 삭제하기 : 30일마다 자동으로 항목을 삭제하도록 휴지통을 설정할 수도 있다. 파인더를 열고 파인더 > 설정 > 고급을 클릭한 후 '30일 후 휴지통에서 항목 삭제'를 선택한다. 다운로드 항목 삭제 : 다운로드 폴더에 아직 필요하지 않은 항목이 남아 있다면 정리하자. 독 오른쪽에 있는 다운로드 폴더를 열고 그 안에 있는 모든 항목을 확인한 후 삭제하면 된다. 오래되고 용량이 큰 파일 삭제하기 : 파인더를 열고 최근 항목(이전 버전의 맥OS X에서는 '모든 내 파일')을 선택한 다음 날짜 또는 크기별로 정렬한다. 여기서 크기를 선택하면 가장 큰 파일부터 선택적으로 삭제할 수 있다. 날짜를 선택하면 한동안 필요하지 않은 파일을 찾을 수 있다. 파인더 윈도우에 크기가 표시되지 않는다면 보기 > 보기 옵션 표시로 이동해 크기를 선택하면 된다. 필요 없는 앱과 프로그램 제거 : 사용하지 않는 앱은 삭제하자. 앱을 휴지통으로 끌어다 놓기만 하면 되지만, 관련 파일과 설정이 맥에 남을 수 있다. 이때는 서드파티 앱에 투자하는 것도 좋다. 클린마이맥 X(CleanMyMac X, 연 34.95달러) 같은 앱은 맥에 설치한 앱이 차지하는 하드 드라이브 공간과 마지막으로 사용한 시간 등을 알려주고, 앱 자체는 물론 앱과 관련된 모든 파일을 지워준다. 위젯 제거 : 알림 센터에서 사용하는 위젯을 삭제할 수 있다. 화면 오른쪽 상단의 시계와 날짜(또는 구형 맥OS 버전에서는 글머리 기호 아이콘)를 클릭한다. 아래로 스크롤하여 위젯 편집(또는 위젯, 또는 이전 버전의 맥OS에서는 오늘)을 클릭한다. 여기서 필요 없는 위젯을 모두 제거할 수 있다. 15. 사진을 외장 드라이브로 옮기기 사진과 홈 비디오가 맥에서 차지하는 공간은 생각보다 훨씬 크다. 사진을 클라우드에 저장하면 맥에서 사진을 삭제할 수 있다고 생각해 아이클라우드 사진 저장 용량 구매를 고려할 수 있지만, 안타깝게도 아이클라우드 사진의 작동 방식은 그렇지 않다. 사진이 저장된 맥에서 사진을 삭제하면 아이클라우드와 사진을 볼 수 있는 모든 기기에서도 삭제된다. 물론 아이클라우드 사진을 사용하는 데 이점이 없는 것은 아니다. 맥에 저장 공간보다 더 많은 사진을 저장하지 않도록 하는 설정이 있어서 맥에서 이미지가 차지하는 공간을 크게 줄일 수 있다. 아이클라우드 사진이 맥에서 많은 공간을 차지하지 않는지 확인하는 방법은 다음과 같다. 사진 앱을 열고 설정(이전 버전의 환경설정)을 클릭한다. 아이클라우드를 클릭한다. 맥 저장 공간 최적화가 선택되어 있는지 확인한다. 이렇게 하면 맥의 공간이 부족한 경우 사진과 동영상의 작은 버전만 맥에 저장되고 원본 해상도 버전은 클라우드에 저장된다. 물론 언제든지 전체 해상도 버전을 다운로드할 수 있다. 다른 서비스를 사용해 클라우드에 사진을 백업할 수도 있다. 예를 들어 드롭박스나 구글 드라이브가 있다. 클라우드 서비스를 사용하지 않으려면 현재 맥에 저장된 사진을 외부 저장 장치로 옮길 수 있다. 외장 하드 드라이브로 사진을 옮기는 방법은 다음과 같다. 사진 앱을 종료한다. 사진 보관함을 시동 볼륨에서 외장 볼륨으로 드래그해 복사한다. 완료되면 옵션 키를 누른 상태에서 사진 앱을 실행한다. 사진에서 사진 > 설정(또는 환경설정)을 선택한 다음 일반 탭에서 시스템 사진 라이브러리로 사용을 클릭한다. 16. 음악 파일 옮기기 이전에 CD에서 음악을 추출했거나 다운로드한 음악이 많은 경우, 음악 라이브러리 용량이 시스템에 부담이 될 수 있다. 이럴 때는 사진 앱과 마찬가지로 음악 파일을 외장 드라이브로 옮겨 디스크 공간을 확보할 수 있다. 자세한 내용은 맥의 음악 보관함을 다른 위치로 옮기는 방법을 참조하면 된다. 단, 설정 > 고급 탭에서 음악 보관함을 다시 연결해야 한다는 점에 유의하자. 또는 연 25달러에 모든 음악을 클라우드로 이동해 맥에서 삭제하고 모든 기기에서 접근할 수 있는 아이튠즈 매치(iTunes Match)를 구독하는 것도 방법이다. 여기에 가입하면 음악을 아이튠즈 매치에 저장한 후 듣고 싶을 때 듣고 싶은 트랙을 다운로드하기만 하면 된다. 애플 뮤직 구독은 클라우드를 통해 모든 음악에 접근할 수 있다는 점에서 비슷한 방식이지만, 아이튠즈 매치는 클라우드에 있는 음악 보관함의 복제본이다. 애플 뮤직은 클라우드를 통해 이미 소유한 모든 트랙에 접근할 수 있는 기능만 제공할 뿐이다. 17. 맥의 캐시 비우기 캐시 파일을 삭제하면 실제로 맥의 성능을 개선할 수 있다. 단, 웹 브라우저는 웹 페이지를 캐시해 웹사이트를 다시 방문할 때 전체 페이지를 다시 다운로드할 필요가 없도록 한다. 또한 로그인 정보와 비밀번호를 기억하는 것도 캐시다. 따라서 경우에 따라서는 캐시를 삭제하면 얻는 것보다 잃는 것이 더 많을 수 있다. 그러나 저장 공간을 확보해야 하는 경우 캐시에서 일부 파일을 삭제하는 것이 해결책이 될 수 있다. 데스크톱에서 Command+Shift+G를 눌러 폴더로 이동을 불러온 다음 ~/Library/Caches/를 입력해 사용자 캐시를 살펴보자. 캐시가 얼마나 많은 공간을 차지하고 있는지 확인하려면 파인더에서 캐시 폴더를 마우스 오른쪽 버튼으로 클릭하고 정보 보기를 선택하면 된다. 몇 기가가 될 수 있다. 사용자 캐시는 필요할 때 재구성되므로 더는 사용하지 않는 앱이라면 그냥 삭제하면 된다. 사파리, 파이어폭스, 아이튠즈는 모두 앱 내에서 직접 캐시를 지울 수 있다. 이런 캐시 파일을 일일이 살펴보고 삭제할 수도 있지만, 이 작업을 수행하는 데 사용할 수 있는 유용한 유틸리티가 많다. 예를 들어, 맥퍼의 클린마이맥 X, 맥용 씨클리너(CCleaner)(무료)와 패러렐즈 툴박스 등이 있다. 18. 사파리 캐시 지우기 사파리에 캐시가 필요 이상으로 쌓이면 속도가 떨어질 수 있다. 이를 정리하면 맥OS에서 사파리 속도를 높이는 데 도움이 된다. 이전 버전에서는 사파리를 열고 사파리 > 사파리 재설정을 선택한 다음 모든 웹사이트 데이터 제거(다른 옵션은 선택하지 않음)를 선택한다. 이제 재설정을 클릭하면 느린 웹 브라우징 속도를 높일 수 있다. 이후 버전에서는 설정 또는 환경설정 대화상자를 열고 개인정보 아이콘을 선택한 다음 '웹사이트 데이터 관리...' 버튼을 클릭한다. 그후 '모두 삭제' 버튼을 클릭하면 모든 쿠키와 캐시를 삭제할 수 있다. 쿠키나 브라우저 기록이 아닌 캐시만 삭제하고 싶다면 조금 복잡하다. 이때는 숨겨진 사파리 개발자 메뉴를 사용하는 것이 더 편리하다. 개발자 메뉴는 사파리 > 설정(또는 환경설정)을 선택하고 고급을 클릭한 다음 메뉴 막대에서 개발 메뉴 표시를 선택하면 활성화된다. 이제 윈도우 및 도움말 메뉴 옵션의 왼쪽에 새로운 개발 메뉴 옵션이 나타난다. 열려 있는 사파리 윈도우를 모두 닫고 개발 메뉴에서 캐시 비우기를 선택한다. 그런 다음 파일 > 새 창을 클릭해 캐시를 지운 상태에서 사파리를 시작하면 된다. 19. RAM 추가하기 최신 맥, 특히 M 시리즈 칩이 장착된 맥에서는 RAM을 업그레이드하는 것이 불가능하므로, RAM을 더 추가하는 것이 해결책이 될 수 없다. 반면 구형 맥을 갖고 있다면, 특히 27인치 아이맥 사용자라면 비교적 쉽게 램을 업그레이드할 수 있다. 과거에는 맥 성능 향상을 위해 RAM을 더 추가하는 것이 일반적인 해결책이었다. 그러나 RAM을 무턱대고 구매하기 보다는 실제로 성능이 얼마나 개선될 지 미리 알아보는 것이 좋다. 가장 쉬운 방법은 응용 프로그램 > 유틸리티에 있는 활성 상태 보기 앱을 실행해 메모리 탭을 클릭한 다음 창 하단에 있는 메모리 압력 게이지를 확인하는 것이다. 계속 녹색으로 표시된다면 업그레이드해도 큰 차이를 느끼지 못할 것이. 반면 정기적으로 빨간색으로 바뀐다면 업그레이드할 가치가 있다. 추가하는 RAM 용량과 방법은 맥 기종에 따라 다르다. 그러나 필자 경험상 가능한 한 최대치 RAM으로 늘리는 것이 좋다. 또한, RAM을 추가하려면 기존 RAM을 제거하고 교체해야 하는 경우가 있다. 필수적인 것은 아니지만 같은 제조업체에서 필요한 RAM을 한꺼번에 구매하는 것이 좋다. 빈 슬롯만 채우기로 결정한 경우에도 마찬가지다. 그리고 가능하면 같은 용량의 RAM 모듈을 끼우는 것을 추천한다. 아마 가장 큰 어려움은 맥의 RAM을 업그레이드 할 수 있는지일 것이다. 27 인치 아이맥에 RAM을 추가하기는 쉽지만 위에서 최신 맥은 사용자 업그레이드가 전혀 불가능하므로 맥을 처음 구매할 때 옵션에서 가능한 한 많은 RAM을 선택하는 것이 좋다. 20. 맥OS 새로 설치하기 여기서 설명한 맥 속도를 높이는 모든 방법을 시도했지만 성공하지 못했다면 마지막으로 운영체제를 새로 설치하는 방법이 하나 더 있다. 부팅 드라이브 전체를 삭제해야 하므로 가볍게 할 수 있는 작업이 아니다. 그러나 맥을 재설치하면 수년 동안 시스템 라이브러리와 사용자 라이브러리에 저장돼 맥이 느리게 하는 원인이 됐을 모든 파일이 지워진다. 단, 새로 운영체제를 설치한 후 문서, 이미지, 음악 및 기타 필요한 모든 것을 다시 복사할 수 있도록 재설치 작업을 시작하기 전에 드라이브의 전체 백업을 최소 한 번 해야 한다. 가급적이면 두 번 이상 하는 것이 좋다. 그리고 클라우드에 없는 파일이 있을 수 있으므로 클라우드에 모든 것이 있다고 안이하게 생각하는 함정에 빠지지 않도록 주의해야 한다. 21. 새 맥을 산다 팁은 아니지만, 최후의 방법이다. 이런 조치 이후에도 여전히 느린 맥 때문에 어려움을 겪고 있다면 신형 맥으로 눈을 돌려야 할 때다. editor@itworld.co.kr
페이스북, 인스타그램, 왓츠앱의 모기업인 메타가 오픈AI, 미스트랄(Mistral), 앤트로픽(Anthropic), 일론 머스크의 xAI 등 모든 모델 제공업체와의 경쟁에서 생성형 AI 시장 점유율을 키우기 위해 오픈소스 LLM 라마(Llama)의 차세대 버전을 최근 출시했다. class="image" ⓒ Getty Images Bank 메타는 블로그 게시물에서 "차세대 라마는 광범위한 업계 벤치마크에서 최첨단 성능을 입증하며, 향상된 추론 기능을 포함한 새로운 기능을 제공한다. 동급 최고의 오픈소스 모델이라고 믿는다. 라마 3를 통해 현재 사용할 수 있는 최고 성능의 독점 모델과 동등한 수준의 오픈소스 모델을 구축하기 시작했다"라고 말했다. 메타는 사전 훈련과 미세 조정을 거친 라마 3을 80억 개(8B) 및 700억 개(70B) 파라미터 버전으로 공개했다. 일반적으로 모든 LLM 제공업체는 기업이 사용례에 따라 지연 시간과 정확도 중에서 선택할 수 있도록 여러 가지 변형 모델을 출시한다. 파라미터가 많은 모델은 상대적으로 더 정확할 수 있으며, 파라미터가 적은 모델은 계산이 덜 필요하고 응답에 걸리는 시간이 짧아 비용이 적게 든다. 메타에 따르면, 이번에 공개된 변형 모델은 텍스트 기반 모델이며, 다른 형태의 데이터는 지원하지 않는다. 추론 및 코드 관련 작업과 같은 기능 전반의 성능을 개선하기 위해 향후에는 더 긴 컨텍스트를 지원하고 다국어 및 다중멀티 모달 모델을 출시할 예정이다. 벤치마크로 보는 라마 3 메타는 라마 3이 GPT4를 제외한 대부분 다른 LLM보다 성능이 더 우수하다고 주장했다. "훈련 후 절차를 개선하면서 오답률이 크게 줄었고, 정확도가 향상됐으며, 응답 다양성이 증가했다. 또한 라마 3의 조정성을 높여 추론, 코드 생성, 지시를 따르는 기능도 크게 향상됐다"라고 회사 측은 덧붙였다. class="image" ⓒ Meta 메타는 다른 모델과 라마 3를 비교하기 위해 MMLU(Massive Multitask Language Understanding), GPQA(GraduateLevel GoogleProof Q&A Benchmark), MATH, 휴먼이벨(HumanEval), GSM8K와 같은 표준 벤치마크에 대한 테스트를 실시했다. 그 결과, 라마 3은 미스트랄, 클로드 소네트, GPT 3.5 등 대부분 LLM보다 점수가 더 높았다는 설명이다. MMLU는 사전 학습 과정에서 습득한 지식을 측정하기 위해 고안된 벤치마크이며, GPQA는 복잡한 과학 문제를 해결하는 모델의 전문성을 확인하기 위한 테스트다. GPAQ는 생물학, 물리학, 화학 등 분야별 전문가가 작성한 448개의 객관식 문제로 구성된 고난도 데이터셋으로, 해당 분야 박사학위 소지자의 정답률은 65%에 불과하다. 작년 11월 발표된 논문에 보고된 데이터에 따르면, GPAQ 시험에서 GPT4의 정확도는 39%로 가장 높은 점수를 기록했다. 700억 매개변수 버전의 라마 3는 39.5점, 80억 매개변수 버전의 라마 3은 34.2점을 기록했다. 하지만 현재 GPQA 벤치마크에서 가장 높은 점수를 받은 것은 41.5점을 받은 제미나이프로(GeminiPro) 1.5다. 제미나이프로 1.5는 MATH 벤치마크 테스트에서도 더 큰 규모의 라마 3 변형을 제쳤다. 회사에 따르면 벤치마크 전반에 걸쳐 평가에 사용된 데이터 세트에는 조언 구하기, 브레인스토밍, 분류, 비공개 질문 답변, 코딩, 창의적 글쓰기, 추출, 캐릭터/인물 만들기, 공개 질문 답변, 추론, 재작성 및 요약 등 12가지 주요 사용례에 해당하는 약 1,800개의 프롬프트가 포함되어 있다. 메타 측은 "해당 평가 세트에 대한 모델의 우발적인 과적합을 방지하기 위해 자체 모델링팀조차도 평가 세트에 액세스할 수 없다"라고 부연했다. 과적합 현상은 ML 또는 모델 학습에서 모델이 학습 데이터에서는 잘 작동하지만, 테스트 데이터에서는 작동하지 않는 것을 말한다. 모델이 학습 데이터를 너무 잘 학습해 데이터의 노이즈와 예외까지 학습하거나 새로 추가되는 데이터에 적응하지 못할 때 발생한다. 학습 데이터가 너무 작거나 관련 없는 정보가 포함돼 있거나, 모델이 단일 샘플 세트를 너무 오랫동안 학습할 때 발생할 수 있다. 데이터 전문가는 모델 훈련을 시작할 때마다 모델 성능을 확인하기 위해 훈련 데이터와 테스트 데이터를 위한 2개의 데이터 세트를 별도로 보관해야 한다. 휴먼이벨(HumanEval), GSM8K 벤치마크는 각각 코드 생성 및 산술 추론 테스트에 사용된다. 라마 3, 이전 버전과 어떻게 다른가 메타는 라마 3이 표준 디코더 전용 트랜스포머 아키텍처를 채택하는 등 많은 개선이 이루어졌다고 밝혔다. 블로그에 따르면, 라마 3은 언어를 훨씬 더 효율적으로 인코딩하는 128K 토큰 어휘의 낱말 분석기(tokenizer)를 사용해 모델 성능을 크게 향상했다"라고 설명했다. 라마 3 모델의 추론 효율을 개선하기 위해 메타는 8B와 70B 버전 모두에 GQA(Grouped Query Attention)를 채택했다. 메타는 "셀프 어텐션(selfattention)이 문서 경계를 넘지 않도록 마스크를 사용해 8,192개의 토큰 시퀸스에 대해 모델을 훈련했다"라고 덧붙였다. 다른 개선 사항으로는 라마 3의 훈련 데이터 세트가 라마 2 훈련에 사용된 데이터 세트보다 7배 더 크다는 점이다. 라마 3는 공개적으로 사용 가능한 소스에서 수집한 15조 개 이상의 토큰으로 사전 훈련됐다. 또한 메타는 라마 3을 고품질 데이터로 학습시키기 위해 휴리스틱 필터, NSFW 필터, 시맨틱 중복 제거 접근법, 텍스트 분류기 사용을 포함한 일련의 데이터 필터링 파이프라인을 개발했다. 라마 3을 구동하는 텍스트 품질 분류기 학습 데이터를 생성할 때는 고품질 데이터 식별에 능숙한 라마 2를 사용했다. 메타는 라마 3의 훈련 시간을 라마 2보다 95% 단축하기 위해 오류 감지, 처리, 유지보수를 자동화하는 고급 훈련 스택을 사용했다. 뿐만 아니라 하드웨어 안정성과 조용한 데이터 손상에 대한 탐지 메커니즘을 크게 개선했으며, 체크포인트와 롤백의 오버헤드를 줄여주는 새로운 확장형 스토리지 시스템을 개발했다. 라마 3 훈련은 2개의 맞춤형 24K GPU 클러스터에서 실행됐다. 퓨처럼 그룹(The Futurum Group)의 앱 개발 및 현대화 실무 책임자인 폴 나샤와티는 강화된 보안 기능을 포함한 모든 개선과 발전의 조합이 오픈AI의 챗GPT, 미스트랄의 르챗(Le Chat), 구글의 제미나이, xAI의 그록(Grok)과 같은 경쟁 모델과 차별화된다며, "메타가 라마 3에서 취한 접근 방식은 인간 상호 작용을 더 잘 이해하고 탐색할 수 있는 뚜렷한 길을 제시할 수 있다"라고 말했다. 라마 3의 기타 기능 메타는 2가지 변형의 라마 3를 출시하면서 라마 가드 2(Llama Guard 2), 코드 쉴드(Code Shield), 사이버 보안 평가 기준 2(CyberSec Eval 2)와 같은 새로운 신뢰 및 안전 툴을 도입한다고 밝혔다. 라마 가드 2는 개발자가 모델이 의도한 가이드라인에 맞지 않는 결과물을 생성할 가능성을 줄이기 위해 추가 계층으로 사용할 수 있는 보호 모델이다. 코드 쉴드는 잠재적으로 안전하지 않은 코드를 생성할 가능성을 줄이는 데 도움이 되는 개발자 대상 툴이다. 사이버 보안 평가 기준은 개발자가 LLM에서 생성된 코드의 사이버보안 위험을 평가할 수 있도록 설계된 툴로, 라마 3 출시와 함께 새로운 기능이 추가됐다. 메타는 "안전하지 않은 코딩 관행에 대한 기존 평가 외에도 프롬프트 인젝션에 대한 LLM의 취약성, 자동화된 공격 사이버보안 기능, 코드 인터프리터 악용 성향 등을 측정함으로써 이전 버전보다 확장됐다"라고 설명했다. 새로운 LLM의 성능을 보여주기 위해 페이스북, 인스타그램, 왓츠앱 플랫폼을 통해 액세스할 수 있는 새로운 AI 어시스턴트 '메타 AI(Meta AI)'도 출시됐다. 사용자는 웹페이지를 통해 메타 AI에 접근할 수 있다. 현재 메타는 4,000억 개(400B)가 넘는 매개 변수를 보유한 라마 3의 변형 버전을 개발하고 있다. 몇 달 내에 학습이 완료되면 출시된다. 현재 출시된 라마 3 모델은 AWS, 허깅 페이스, IBM 왓슨X, 마이크로소프트 애저, 구글 클라우드, 엔비디아 NIM에서 사용할 수 있다. 데이터브릭스, 캐글, 스노우플레이크와 같은 다른 공급업체에서도 최신 모델을 제공할 예정이다. AMD, AWS, 델, 인텔, 엔비디아, 퀄컴이 학습, 추론 및 AI 관련 작업을 위한 하드웨어 측면에서 라마 3를 지원한다. editor@itworld.co.kr
비주얼 스튜디오 코드는 아주 좋은 소프트웨어 개발 환경이다. 뛰어난 코드 편집 기능과 언어 지원도 장점이지만, 풍부한 확장 프로그램 문화 덕분에 편집 외의 다른 많은 작업도 지원한다. 편집기 탐색을 더 빠르게 하는 기능부터 플레이스홀더 텍스트와 이미지를 간편히 삽입하는 기능에 이르기까지 온갖 작업을 위한 VS 코드 확장 프로그램을 찾을 수 있다. 여기서는 개발 환경을 구축할 때 고려할 만한 11가지 VS 코드 확장 프로그램을 소개한다. 모두 매우 유용하며, 누구든 일상적인 워크플로우에 채택할 만한 확장 프로그램을 찾을 수 있을 것이다. 대시보드(Dashboard) 크롬과 파이어폭스 사용자는 빈 탭을 열 때 기본적으로 표시되는 "바로 가기" 메뉴에 익숙하다. 대시보드 확장 프로그램은 VS 코드에서 이와 비슷하게 가장 일반적인 프로젝트 또는 작업공간에 신속하게 접근할 수 있게 해준다. 대시보드에서 프로젝트를 손쉽게 추가, 제거하거나 재정렬할 수 있으며 색, 그라디언트, 이모지를 사용해서 프로젝트 버튼을 각자 구분되도록 설정할 수 있다. 아이콘을 통해 깃 리포지토리에 속하는 프로젝트를 알려준다. 데이터 프리뷰(Data Preview) 비주얼 스튜디오 코드는 코드 작성 및 실행뿐 아니라 데이터 준비, 데이터 랭글링을 위한 환경으로도 활용된다. 그러나 아주 단순한 파일로 작업하는 경우를 제외하면 내장된 데이터 형식을 위한 파일 핸들러로는 부족하다. 데이터 프리뷰는 광범위한 일반적인 형식(JSON 또는 CSV뿐 아니라 엑셀, 아파치 파케이, 애로우, 아브로, YAML과 그 외의 구성 파일까지)을 위한 핸들러, 시각화 툴, 관리 기능을 추가해 준다. 무거운 작업에서는 웹어셈블리로 작성된 스트리밍 데이터 분석 라이브러리를 사용하므로 10MB 이상의 용량이 큰 파일도 문제없이 처리할 수 있다. 플레이스홀더 이미지(Placeholder Images) 프로젝트에 플레이스홀더 이미지가 필요한 경우(보통 웹 개발, UI 목업, 문서화 등에 자주 필요함) 플레이스홀더 이미지만 있으면 된다. 이 VS 코드 확장 프로그램을 사용하면 언스플래시(Unsplash)와 같은 스톡 이미지 서비스를 포함한 여러 무료 이미지 제공업체의 이미지를 HTML 참조로 삽입할 수 있다. 이미지를 선택하려면 제공업체와 함께 원하는 크기를 입력한다. 그러면 해당 업체에서 조건에 맞는 이미지가 무작위로 선택된다. VS코드 페이커(VSCode Faker) 종종 플레이스홀더 텍스트(가짜 주소, 가짜 전화번호, 또는 lorem ipsum 한 줄)가 필요한 경우가 있다. HTML 템플릿 예제를 만들거나 스크린샷 또는 구성 파일을 위해 가짜 데이터를 라이브 데이터로 바꾸는 경우 등이다. VS코드 페이커는 모든 종류의 가짜 데이터를 빠르게 생성해 준다. 로케일 ID가 있다면 특정 로케일의 가짜 데이터를 생성하도록 설정할 수도 있다. 워드카운터(WordCounter) 단어 수와 읽기 시간은 블로그 게시물과 뉴스 기사를 볼 때 매우 유용하다. 그렇다면 다른 곳에서도 활용할 수 있지 않을까? 가령 README를 읽는 데 얼마나 걸릴지, 또는 작성 중인 문서의 현재 단어 수를 한눈에 알 수 있다면 좋을 것이다. 워드카운터는 VS코드 상태 표시줄에 세부적인 단어, 문자, 줄, 단락, 읽기 시간 등의 정보를 표시한다. 폭넓게 구성이 가능해서, 예를 들어 단어 구분자를 구성하는 요소를 변경하거나 읽기 시간을 계산하는 데 사용되는 분당 단어 수를 바꿀 수 있다. 점피(Jumpy) 모달 편집기 애호가들은 마우스 조작 없이 몇 번의 키 입력만으로 라인, 페이지, 또는 문서의 특정 논리적 지점으로 이동할 수 있다는 점을 좋아한다. 점피는 키보드만 사용해서 코드 사이를 빠르게 이동하는 기능을 더해준다. 점피를 활성화하면 화면의 코드에 2자리 코드 레이블로 키 포인트가 표시된다(줄 바꿈, 식의 시작 부분 등). 특정 레이블로 이동하려면 이 2자리 코드를 입력하면 된다. 코드에 사용되는 기호를 맞춤 설정하거나 기본값을 사용할 수 있다. 기본값은 A~Z, 0~9다. 점피에는 기본적으로 키바인딩이 없으므로 사용할 바인딩을 직접 설정해야 한다. 다른 확장 프로그램과의 충돌을 피할 수 있다는 면에서는 도움이 된다. 토글(Toggle) VS 코드의 설정은 탐색하고 수정하려면 미로와 같이 복잡하게 느껴질 수 있다. 특히 상황에 따라 켜고 끄기 위해 동일한 설정을 반복해서 찾는 경우에는 더욱 성가시다. 펭 Lv(Peng Lv)의 토글 확장 프로그램을 사용하면 모든 VS 코드 설정에 키바인딩을 할당할 수 있다. 바인딩한 키를 누르기만 하면 간단히 해당 설정값이 변경된다. 같은 키바인딩에 여러 설정의 토글을 할당할 수도 있다. 토글의 한 가지 단점은 키바인딩 파일을 수동으로 구성해야 한다는 점이지만 별로 어렵지는 않다. 기본 설정(Preferences): 키보드 단축키 열기(Open Keyboard Shortcuts(JSON))를 사용해서 파일을 생성하거나 연 다음 위의 예제를 붙여넣고 키바인딩 참조표를 사용해서 설정하면 된다. 텍스트 파워 툴(Text Power Tools) VS 코드는 본질적으로 텍스트 편집기다. 여기서 "텍스트"는 프로그램 코드만이 아니라 일반 텍스트를 포함한 다양한 형식의 문서도 의미한다. 텍스트 파워 툴 확장 프로그램은 VS 코드에 기본적으로 포함되지 않은 다양한 텍스트 처리 유틸리티를 추가해 준다. 제공되는 툴에는 정규식으로 파일의 라인 필터링하기, 선택한 텍스트의 대소문자 변경 또는 바꾸기, 라인 또는 영역의 앞이나 뒤에 텍스트 붙이기, 다양한 기준에 따라 텍스트 영역 정렬하기, 클립보드 내의 데이터를 다양한 형식으로 지능적으로 붙여넣기, 다양한 형식의 플레이스홀더 데이터 생성하기, 선택 영역의 인코딩 변경하기, 유니코드 정규화 형식 변경하기 등이 있다. 한 가지 매우 유용한 추가 기능은 "텍스트 슬롯"이다. 최대 5개의 클립보드 항목을 저장해서 재사용할 수 있는 기능이다. 클립보드를 강화해 주는 유틸리티를 이미 사용하고 있지 않다면 이 유용한 확장 프로그램을 사용하면 된다. SQL툴(SQLTools) 데이터베이스 작업을 할 때 선택 가능한 옵션은 데이터베이스의 명령줄 인터페이스, 데이터 액세스 라이브러리가 있는 프로그래밍 언어, 또는 CLI와 GUI가 있는 "워크벤치" 애플리케이션이다. 이 마지막 옵션이 가장 사용자 친화적이고 편리하다. SQL툴은 VS 코드를 간단한 데이터베이스 워크벤치 시스템으로 만들어주며, SQL라이트(SQLite), 마이SQL, 마리아DB, 포스트그레DB를 비롯한 일반적인 데이터베이스로 작업하기 위한 하위 확장 프로그램을 제공한다. 자동 제안 기능은 쿼리 작성을 쉽게 해준다. 다만 일부 워크벤치 앱에서 제공하는 스프레드시트와 비슷한 인터페이스를 통해 인터랙티브한 방식으로 데이터를 편집하는 기능은 없다. 코드스냅(CodeSnap) 때로는 코드의 스크린샷을 찍는 것이 코드를 공유하는 가장 빠르고 직접적인 방법인 경우가 있다. 코드스냅은 외부 툴 없이 VS 코드 내에서 이를 가능하게 해준다. 원하는 코드를 선택하고 직접 할당한 키바인딩을 누르면 해당 코드 부분이 파일로 저장되거나 클립보드로 복사된다. 현재 활성화된 테마도 스크린샷에 사용된다. 코드스냅이 출시된 이후 기능을 약간씩 변경한 다양한 포크가 나왔다. 대표적인 예로 스크린샷에 라인 하이라이트 기능을 추가하는 코드스냅플러스(CodeSnapPlus)가 있다. 코드투HTML(CodeToHTML) 많은 개발자가 코드를 공유할 때 붙여넣기 서비스를 사용한다. 이 서비스는 일반적인 언어를 위한 구문 하이라이팅을 자동으로 추가해 준다. 예를 들어 블로그에서 코드를 HTML로 공유하고 싶은데 구문 하이라이팅 메커니즘이 없는 경우에는 어떻게 해야 할까? 코드투HTML 확장 프로그램은 코드 조각을 받아 HTML로 변환하며, 이때 인라인 스타일 정보를 통해 자동으로 하이라이팅이 해당 코드 조각에 내장된다. editor@itworld.co.kr
인터넷 보안은 그 분야 전문가에게도 복잡한 주제이며, 일반 사용자에게는 용어조차도 어려울 수 있다. 물론 모든 전문 용어를 다 알 필요는 없다. 하지만, 기본적인 용어에 대한 어휘력을 갖추면 주요 위협으로부터 자신을 보호할 수 있는 충분한 정보를 확보하는 데 도움이 될 수 있다. 예를 들어 피싱 이메일이 무엇인지 안다면 피싱 이메일에 대한 경각심을 갖고 이런 흔한 위험을 피할 수 있다. 여기서 소개하는 주요 보안 용어는 보안 경고를 이해하고 홈 네트워크와 컴퓨터를 보호하기 위한 적절한 조치를 취하는 데 도움이 될 것이다. 핵심 보안 용어 컴퓨터 시스템과 네트워크는 무단 액세스로부터 사용자와 사용자의 데이터를 보호하기 위해 다양한 기술을 사용한다. 우선, 데이터를 보호하는 방법을 설명하는 가장 일반적인 용어부터 알아보자. 2FA. 이중 인증(TwoFactor Authentication)의 줄임말로, 비밀번호 외에 추가적인 '요소'를 추가해 온라인 계정을 보호하는 방법이다. 문자 메시지 확인 또는 신뢰할 수 있는 앱에서 생성한 코드를 추가 인증 요소로 사용할 수 있다. 만약 이중 인증을 사용할 수 있는 계정이라면, 사용하는 것이 좋다. 인증(Authentication). 일반적으로 비밀번호, 생체 인식 또는 코드 확인을 통해 플랫폼 또는 계정에 대한 승인된 액세스를 확인한다. 생체 인식. 얼굴 형상이나 지문과 같은 사용자의 신체적인 특성을 보안 인증 수단으로 사용하는 것을 말한다. 노트북의 지문 센서와 윈도우 헬로 카메라는 암호보다 더 쉽고 안전하게 로그인할 수 있는 일반적인 생체 인식 보안 기능이다. 인증서 인증(Certificate Authentication). 신뢰할 수 있는 기관에서 디지털 서명한 기록을 사용해 웹사이트, 파일 또는 시스템의 진위 여부를 확인한다. 암호화(Encryption). 미리 정해진 방식으로 정보를 뒤죽박죽으로 만들어 민감한 정보를 모호하게 하거나 숨기는 방법. 하드 드라이브 및 기타 저장 장치를 암호화하면 장치가 악의적인 사람의 손에 넘어갈 경우 데이터를 보호할 수 있으며, 네트워크 연결을 암호화하면 데이터가 네트워크를 통해 이동할 때 제 3자가 가로채지 못하도록 보호한다. 위험 및 악용 관련 용어 해커와 범죄자들이 사용하는 일반적인 위험과 수법에 관한 용어다. 보안 소프트웨어를 구매할 때는 모든 위협 유형으로부터 보호하고 내 정보가 다크 웹에 표시될 때 알려주는 옵션을 선택하기 바란다. 백도어. 공격자가 시스템에 액세스하는 은밀한 방법을 만드는 보안 취약점, 즉 PC에 열려 있는 '뒷문'을 만들어 악용하는 수법이다. 부팅 레코드 바이러스. 흔히 MBR(Master Boot Record) 바이러스라고하며, 컴퓨터 시스템이 부팅될 때 로드되는 하드 드라이브의 일부를 표적으로 삼는 바이러스 형태이다. 운영체제의 보안 기능을 우회하는 데 악용된다. 봇넷. '로봇 네트워크'의 줄임말로, 범죄자가 대상 시스템의 보안 장치나 인프라를 압도하기 위해 대량의 감염된 컴퓨터를 사용하는 것을 말한다. 무차별 대입 공격(Brute Force Attack). 사용자 아이디와 비밀번호 조합을 알아내기 위해 대량의 문자와 숫자 조합을 사용하는 방식이다. 크라임웨어(Crimeware). 사이버 범죄자가 범죄 행위를 수행하기 위해 사용하는 멀웨어이다. 봇넷에 감염된 컴퓨터를 추가하는 트로이 목마 바이러스가 대표적이다. 다크 웹(Dark Web). 특정 소프트웨어를 사용해 트래픽을 익명화하는 인터넷용 섀도우 네트워크의 일종이다. 다크 웹은 종종 도난당한 비밀번호를 포함해 불법 또는 도난당한 데이터를 전송하는 데 사용된다. 다크 웹을 모니터링하는 보안 서비스는 이런 네트워크를 검색해 위협 정보가 발견되면 사용자에게 경고한다. 데이터 마이닝. 대규모 데이터 세트를 사용해 특정 대상에 대한 상관관계를 찾는 것을 말한다. 공격자는 여러 웹사이트나 데이터베이스에서 개인에 대한 데이터 요소를 찾아내 공격을 수행하거나 신원 도용을 저지르기에 충분한 정보를 수집할 수 있다. 서비스 거부 공격. DoS(Denial of Service)라고 부르며, 대상 시스템의 정상적인 작동을 방해하기 위해 의도적으로 과부하 트래픽을 일으키는 공격이다. 봇넷을 이용해 수행하는 경우가 많다. 사전 공격(Dictionary Attcack). 대량의 공통 용어를 사용해 사용자의 비밀번호를 알아내는 자동화된 무차별 암호 대입 공격의 한 형태이댜. 결함 주입(Fault Attack). 결함 주입 공격이라고도 한다. 해커가 정상적인 기능을 우회하기 위해 서버나 웹 브라우저에 의도적으로 잘못된 데이터 패킷을 전송하는 등 시스템의 일부에 오류를 발생시켜 시스템에 액세스하는 데 사용하는 방법이다. 하이재킹(Hijacking). 감염된 컴퓨터나 네트워크 연결을 악의적인 목적으로 사용할 수 있도록 제어권을 획득하는 것을 말한다. IP 스푸핑. 일반적으로 실제 출처를 숨기거나 다른 시스템을 사칭하기 위해 자신의 IP 주소가 아닌 다른 IP 주소에서 온 것처럼 보이도록 신호를 변경하는 방법이다. 미디어 스트리밍처럼 국가별 제한이 있는 서비스를 우회적으로 이용하는 데 사용할 수 있다. 커널 공격. 운영 체제의 핵심 코드(커널이라고 함)를 수정해 정보를 훔치거나 시스템에 대한 제어 액세스 권한을 얻기 위한 채널을 생성하는 보안 악용 방법이다. 멀웨어(Malware). 컴퓨터 시스템에서 악의적인 행위를 수행하는 소프트웨어. 바이러스나 트로이 목마 또는 사용자가 입력하는 내용을 기록하여 비밀번호 및 기타 정보를 수집하는 키로거 등을 통칭하는 용어다. 중간자 공격(ManintheMiddle Attack). 두 시스템 간의 트래픽을 가로채 공격자가 임의로 조작하는 방식의 공격이다. 가로챈 데이터를 훔치거나 다른 목적으로 손상된 정보를 삽입하는 데 사용할 수 있다. 신분 위장 공격(Masquerade Attack). 합법적인 사용자 또는 시스템의 자격 증명을 사칭하거나 이를 사용해 시스템에 액세스하는 방법이다. 비밀번호 크래킹. 사전 공격 등을 통해 작동 중인 비밀번호를 알아내 시스템에 액세스하는 행위. 비밀번호 스니핑. 암호화되지 않은 비밀번호에 대한 네트워크 트래픽을 모니터링하여 사용자 자격 증명을 발견하는 방법이다. 파밍(Pharming). 사용자가 유효한 사이트에 있다고 믿고 로그인 자격 증명이나 기타 식별 정보를 입력할 수 있는 스푸핑된 웹사이트로 트래픽을 리디렉션해 사용자의 데이터를 탈취하는 방법이다. 피싱 공격과 함께 사용되는 경우가 많다. 피싱(Phishing). 이메일이나 문자 메시지를 통해 피해자가 사용자 아이디와 비밀번호와 같은 민감한 데이터를 공개하도록 유인하는 소셜 엔지니어링 공격의 한 형태이다. 피싱 메시지는 일반적으로 은행이나 온라인 쇼핑몰처럼 신뢰할 수 있는 브랜드에서 보낸 것처럼 보이도록 디자인된 콘텐츠와 이미지를 이용한다. 포트 스캔. 공격자가 컴퓨터 시스템의 진입 지점을 발견하기 위해 사용하는 방법이다. 해커는 네트워크 또는 컴퓨터의 포트를 스캔해 사용 가능한 포트, 네트워크 내 컴퓨터에서 실행 중인 서비스 유형, 시스템에 액세스할 수 있는 기타 세부 정보를 파악할 수 있다. 랜섬웨어. 사용자가 시스템을 이용하지 못하게 잠그거나 민감하거나 당황스러운 데이터를 훔쳐내기 위한 멀웨어의 일종으로, 사용자가 액세스 권한을 되찾거나 정보 유출을 막기 위해 돈을 지불하도록 유도하는 것을 목적으로 한다. 세션 하이재킹. 사용자의 세션에서 활성 쿠키 데이터를 복제하는 등 이미 설정된 연결을 제어해 사용자의 온라인 계정에 액세스한다. 일반적으로 웹사이트 연결은 정해진 시간이 지나면 만료되는 세션 내에서 보안이 유지된다. 공격자는 만료되지 않은 세션의 쿠키 사본을 웹사이트에 제시함으로써 사용자를 사칭해 액세스 권한을 얻을 수 있다. 스니핑. 네트워크를 통해 전송되는 트래픽에서 데이터를 탐지하고 수집하는 모든 방법. 무선 네트워크에서 비밀번호를 찾는 데 자주 사용된다. 사회 공학. 인간의 사회적 취약점을 악용해 민감한 정보를 수집하거나 시스템에 액세스하는 데 사용하는 방법을 말한다. 피싱, 전화 사기, 신뢰할 수 있는 사람 사칭 등 다양한 기업이 사용된다. 스푸핑. 제한된 콘텐츠에 액세스하기 위해 컴퓨터의 IP 주소를 수정하거나 방문자를 속이기 위해 피싱 이메일 또는 가짜 웹사이트를 신뢰할 수 있는 브랜드의 소유인 것처럼 보이게 하는 등 시스템이나 계정을 그렇지 않은 것처럼 보이도록 수정하는 모든 기만적인 방법을 말한다. 트로이 목마. 겉보기에 안전한 애플리케이션 내에 숨겨져 있는 멀웨어. 컴퓨터에 악성 코드를 심는 데 이용한다. 바이러스. 스스로 복사본을 생성해 다른 파일과 시스템에 삽입함으로써 확산되는 멀웨어이다. 워초킹/워다이얼링/워드라이빙. 해커가 주변을 운전하며 무선 네트워크를 검색하거나(Wardriving), 걸어 다니며 같은 작업을 수행하고 눈에 띄는 방식으로 표적을 표시하거나(Warchoacking), 모뎀으로 액세스할 수 있는 컴퓨터를 찾기 위해 전화 번호를 자동 다이얼링하는(Wardialing) 방식으로 잠재적인 공격 대상을 발견하고 식별하는 방식이다. 전화를 받았는데 귀에서 모뎀의 치직거리는 소리가 들린다면, 워다이얼링 시도일 수 있다. 네트워킹 보안 용어 가장 단순한 홈 네트워크에도 일반적으로 침입자를 차단하고 데이터를 보호하는 데 도움이 되는 다양한 장치와 기능이 있다. 액세스 제어. 특정 디바이스의 네트워크 참여를 허용하거나 차단하는 라우터의 기능이다. 방화벽. 컴퓨터 또는 네트워크에 대한 액세스를 제한하는 장치 또는 소프트웨어이다. 방화벽을 통해 들어오고 나가는 항목에 대한 권한을 설정할 수 있다. 라우터. 네트워크의 액세스 및 트래픽 흐름을 관리하고, 네트워크 내의 컴퓨터에 주소를 할당하며, 네트워크 내의 시스템 간 연결 흐름을 지시하는 디바이스이다. 홈 라우터는 일반적으로 인터넷 서비스 업체의 모뎀에 연결되며 홈 네트워크 내의 디바이스가 서로 및 인터넷에 연결할 수 있는 중앙 허브 역할을 한다. 대부분의 라우터에는 외부 침입으로부터 네트워크를 보호하는 방화벽 및 액세스 제어 기능이 포함되어 있다. 홈 네트워크를 완벽하게 보호하려면 라우터의 기능을 알아두는 것이 좋다. 인터넷 보안 용어 사용자를 보호하고 온라인에서 데이터가 도난당하는 것을 방지하기 위해 웹사이트와 애플리케이션은 다양한 기술과 기법을 사용한다. 쿠키. 웹사이트 등의 시스템에서 사용자를 식별하고 추적하기 위해 사용하는 데이터 파일로, 종종 해당 사용자와 관련된 구성 정보가 포함되어 있다. 쿠키에는 사용자의 계정에 액세스하는 데 사용할 수 있는 개인 식별 정보 및 세션 데이터가 포함될 수 있다. 웹사이트 로그인을 활성 상태로 두면 세션 쿠키 데이터를 사용해 계정에 다시 액세스할 수 있다. 따라서 웹사이트 이용이 끝나면 의식적으로 로그아웃하면 이렇게 악용되는 것을 방지할 수 있다. HTTPS. 'S'는 안전하지 않은 일반 HTTP와 달리 신뢰할 수 있는 발급자의 서명된 인증서로 보호되는 연결을 나타낸다. 기본적으로 온라인 보안에 관심이 있다면 개인 데이터를 전송하는 모든 웹사이트의 주소가 HTTPS로 시작해야 한다. 인터넷 프로토콜(IP). 인터넷을 통해 컴퓨터를 연결하는 표준 방법으로, 각 시스템에는 IP 주소라고 하는 고유한 숫자 또는 영숫자 주소가 있습니다. IPv4의 경우, 192.168.1.72, Ipv6의 경우 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 주소를 사용한다. 현재 두 버전 모두 사용되고 있다. 일부 사이버 공격은 신뢰할 수 있는 출처에서 온 것처럼 보이도록 IP 주소를 변조한다. SSL(Secure Sockets Layer). 디지털 서명 보안을 사용해 인터넷에서 신뢰할 수 있는 시스템을 식별하는 보안 표준이다. 웹사이트의 신원을 확인하기 위해 HTTPS에서 사용하는 표준이기도 하다. 비즈니스 보안 용어 직장에서 IT 부서는 회사 데이터와 시스템을 안전하게 보호하기 위해 여러 가지 보안 프랙티스를 적용한다. 최소 권한. 보안을 손상시킬 수 있는 의도치 않은 구성 변경을 방지하기 위해 컴퓨터에 대한 관리자 액세스를 보류하는 등, 특정 시스템이나 사용자에게 필수 기능을 수행하는 데 필요한 만큼의 액세스 권한만 부여하는 보안 원칙이다. 기업 IT 환경에서는 이런 이유로 일반 사용자에게는 회사에서 발급한 PC에 대한 기본 액세스 권한만 부여한다. 가정에서도 자녀의 컴퓨터 설정을 제한하는 식으로 적용할 수 있다. VPN(Virtual Private Network). VPN은 인터넷을 통해 여러 대의 컴퓨터를 안전하게 연결하는 수단으로, 내부 네트워크처럼 동작하는 것이 특징이다. 많은 기업이 직원들에게 공개 인터넷이 아닌 VPN을 통해 민감한 시스템에 액세스하도록 요구한다. 가정에서도 VPN을 사용하면 웹 서핑을 할 때 개인 정보 보호 장치를 추가하는 효과를 얻을 수 있다. 기타 중요한 컴퓨터 및 보안 용어 데몬(Daemon). 컴퓨터 시스템에서 자동화된 백그라운드 프로세스로 실행되는 프로그램. 대부분의 데몬은 양성이지만, 많은 멀웨어가 데몬을 추가해 사용자 활동을 모니터링하고 인터넷을 통해 해커의 지시를 기다린다. 암호 해독(Decryption). 일반적으로 보안 인증을 통해 암호화된 데이터 또는 텍스트를 읽을 수 있는 상태로 복원하는 작업이다. 허니팟(Honeypot). 공격자를 유인하고 함정에 빠뜨리기 위해 고의적으로 노출된 시스템으로, 겉보기에는 가치 있는 데이터로 가득 차 있다. 네트워크 관리자와 사법기관이 사이버 범죄자를 잡기 위해 허니팟을 사용하기도 한다. 현재 일부 가정용 보안 방화벽에는 허니팟 기능이 포함되어 있어 액세스 시도를 감지하고 침입자에게 경고를 보낼 수 있다. 평문(Plaintext). 암호화되지 않은 텍스트 콘텐츠. 암호화된 암호 텍스트와 반대되는 개념이다. 비밀번호와 같은 민감한 정보는 어떤 시스템에도 평문으로 저장해서는 안된다. 루트(Root). 맥OS나 리눅스 같은 유닉스 계열 운영체제의 핵심 관리자 또는 수퍼유저 계정이다. 대부분의 최신 유닉스 계열 시스템은 수퍼유저 기능에 대한 무단 액세스를 방지하기 위해 기본적으로 루트 계정을 비활성화한다. 많은 사이버 공격의 목표는 루트 액세스 권한을 얻어 시스템을 완전히 장악하는 것이다. 스팸. 원치 않는 메시지로, 주로 이메일을 통해 전달되지만 문자 메시지와 소셜 미디어에서도 점점 더 흔해지고 있다. 반드시 위험한 것은 아니지만 피싱 공격과 사기가 포함될 수 있다. 제로 데이(Zero Day). 새로운 취약점이 발견된 첫날로, 공격자가 취약점을 인지하고 사용자가 시스템에 방어 패치를 적용하기 전에 취약점을 악용할 수 있기 때문에 가장 취약한 시기로 간주된다. editor@itworld.co.kr
‘뉴 노멀’에서 ‘올드 노멀’로 되돌아가는 데는 그리 오랜 시간이 걸리지 않았다. 외출할 때마다 마스크를 챙기고, 사회적 거리두기를 하던 기억도 이제는 희미하다. 하지만 코로나 19가 쏘아 올린 거시 경제적 위기는 여전했고, 2024년에도 계속될 전망이다. 불확실한 경제 상황, 예측할 수 없는 미래는 기업의 가장 큰 불안 요소이지만, 현재 상황을 분석하고 가능성 있는 미래를 염두에 둔다면 변화에 빠르게 대처할 수 있을 것이다. 2024년 IT 업계에서 가장 주목해야 할 기술은 여전히 AI다. 인터넷에 버금가는 사회/경제적 혁신을 이끌게 될 기술로 주목받는 AI는 2024년 한층 고도화되면서 안정기에 접어들 것으로 예상된다. 이에 따라 AI에 능통한 기업과 그렇지 못한 기업의 지식 격차는 2024년 기업의 생산성과 수익을 판가름할 것으로 보인다. 여기서는 2024년 한해 계획에 참고하면 좋을 만한 AI 관련 2024년 전망을 정리한다. 2024년에도 변화의 중심은 AI 가트너는 오는 2026년까지 생성형 AI 모델이나 API를 사용하는 기업이 80%에 달할 것으로 예상했다. 2023년 초에는 5% 미만이었던 것을 고려하면 폭발적인 성장이다. 이에 따라 AI의 신뢰와 리스크, 보안 관리를 의미하는 AI TRiSM(Artificial Intelligence Trust, Risk, and Security Management)의 필요성도 분명해졌다. 사전 예방적 데이터 보호, AI 전용 보안, 데이터 및 모델 드리프트, 모델 모니터링, 입출력 리스트 제어 등과 같은 AI TRiSM 기능을 적용하는 기업은 오류 및 불법 정보를 최대 80%까지 줄임으로써 보다 정확하게 의사결정할 수 있다. AI 성능에 핵심적인 역할을 하는 AI 반도체 시장도 몸집이 커지고 있다. 딜로이트는 생성형 AI 전용 반도체칩 시장 규모가 2024년 400억 달러(약 51조 9,600억 원) 수준까지 이르렀다가 2027년에는 4,000억 달러(약 519조 원)에 달할 것으로 전망했다. 또한 딜로이트는 기업용 소프트웨어 업체 대부분이 올해를 기점으로 제품과 서비스에 생성형 AI를 추가할 것이며, 생성형 AI를 도입한 SW 업체는 100억 달러(약 13조 원)의 추가 매출을 얻을 수 있다고 분석했다. 실무자의 업무 환경은 어떻게 바뀔까? 우선 중요도가 높지 않은 업무에서는 생성형 AI 사용이 고착화될 것으로 예상된다. 퀄트릭스의 ‘2024년 직원 경험 트렌드’에 따르면, 많은 직원이 자료 작성(63%), 개인 비서 역할(59%), 내부 지원 부서에 연락(50%)과 같이 AI를 직접 제어할 수 있는 업무에서 AI를 활용하는 것을 긍정적으로 생각하고 있었다. 반면 교육, 업무 성과 평가, 채용 및 승진 면접처럼 주관적인 의견이 개입되고 중요도가 높은 업무에 대해서는 선호도가 30%대에 그쳤다. AI는 직원의 업무 방식뿐 아니라 일자리 지형도 바꾸고 있다. 생성형 AI가 창의적인 사고를 성공적으로 수행하는 모습을 입증하면서 2023년에는 더 많은 일자리가 사라질 것에 대한 우려가 있었지만, 한편에서는 프롬프트 엔지니어(Prompt Engineer)처럼 AI가 창출한 새로운 역할도 생겨났다. SAS는 “AI 기술이 고용 시장에 일시적인 혼란을 야기할 수 있지만, 앞으로 경제 성장을 견인할 직무를 창출할 것“이라며, 올해는 이런 신규 일자리가 크게 주목받을 것으로 예상했다. 접근 방식도 달라진다 AI 도입이 필수적인 흐름이라면 2024년에는 비용 효율적인 운영을 고민해야 하는 시기다. 올해부터는 AI에 대한 논의가 이론에서 실제 추론 및 운영 환경으로 전환되면서 투자에 대한 초점 역시 훈련 비용에서 추론/운영 비용으로 이동할 것으로 보인다. 델 테크놀로지스에 따르면, 훈련 비용은 모델의 크기와 데이터 집합 사용에 따라 결정되지만 추론/운영 비용은 트랜잭션 수, 사용자 규모, 데이터 유형, 지속적인 유지보수에 좌우된다. 클라우데라는 비교적 적은 비용과 훈련 데이터로도 LLM 성능을 최적화하는 대표적인 3가지 방법으로 프롬프트 엔지니어링, 검색증강생성(Retrieve Augmented Generation, RAG), 파인 튜닝(Fine Tuning)에 주목했다. 또한 앞으로는 많은 기업이 더 나은 LLM을 만들기 위해 MLOps(Machine Learning Operation)와 데이터 페더레이션 기능 개발에 주력할 것으로 예상했다. AI의 잠재력을 극대화해 경쟁 우위를 확보하기 위한 방법으로 에퀴닉스는 ▲신뢰할 수 있는 출처 ▲전략적인 데이터 수집 ▲적절한 모델 3가지 요소가 필요하다고 강조했다. 또한 지난해에는 생성형 AI가 기업의 데이터를 유출하는 사고가 있었던 만큼 2024년에는 민감 데이터를 위험 요소로부터 효율적으로 보호하는 방법으로 프라이빗 AI 논의가 활발해질 것으로 전망했다. 마케팅 캠페인도 AI로 효과적으로 디지털 마케팅 분야에서도 AI가 핵심 키워드다. 인크로스는 경기 침체로 인해 2024년에는 광고 효율을 극대화할 수 있는 서비스와 기술이 계속해서 주목받을 것이라고 분석했는데, 특히 ‘AI 마케팅’이 크게 발전할 것이라고 전망했다. 실제로 마케팅 업계에서는 현재 AI를 활용해 광고 소재를 제작하고 ML을 통해 캠페인 효율을 최적화하는 추세가 점차 확산하고 있다. 인크로스는 광고 업계 전반에 AI/ML의 영향력이 확대할 것으로 바라봤다. 몰로코의 조사도 인크로스의 전망을 뒷받침한다. 몰로코가 전 세계 모바일 앱 마케터를 대상으로 실시한 조사에 따르면, 퍼포먼스 기반 모바일 마케팅 솔루션을 선택할 때 고려하는 10가지 요소 중 ‘고급 ML 기술’이 37%로 1위를 차지했다. 광고 패러다임 자체가 변화할 것이라는 전망도 있다. 메조미디어는 일방향적인 기존의 광고 방식이 생성형 AI를 통해 이용자와 상호작용하는 방식으로 광고 패러다임이 바뀔 것이며, 이에 따라 2024년에는 많은 마케터가 프롬프트 작성, 디지털 리터러시에 대한 이해, 유해 정보 필터링과 같은 생성형 AI 역량을 개발할 것으로 예상했다. 기회 혹은 위기…AI라는 양날의 검 모든 기술에는 어두운 이면이 있는 법이다. 올해 기업의 보안에 가장 큰 영향을 미칠 요소로 AI가 꼽히는 것도 자연스럽다. 미국보안산업협회(Security Industry Association, SIA)는 2024년 기업 보안에 영향을 미칠 것으로 예상되는 가장 중요한 트렌드로 AI를 선정했다. 구체적으로는 ‘AI 보안’을 가장 중요한 트렌드로 선정했으며, AI가 탑재된 디지털카메라의 비디오 인텔리전스, 생성형 AI, AI 규제가 뒤를 이었다. 매해 연말 보안 위협 전망을 내놓는 보안 업체들도 일제히 AI의 어두운 이면을 지적했다. 이글루코퍼레이션과 SK쉴더스는 피싱 이메일 작성, 악성코드 생성 등 생성형 AI를 악용해 해커가 공격을 더 쉽고 빠르게 수행할 수 있는 환경이 마련되면서 2024년 생성형 AI를 악용한 사이버공격이 증가할 것으로 전망했다. 특히 프루프포인트는 현재 맬웨어 개발자들이 AI를 활용해 더 많은 표적에 접근할 수 있는 첨단 프로그래밍 기법을 만들고 있음을 지적하며, 그 결과 2024년에는 샌드박스나 EDR(Endpoint Detection and Response)과 같은 도구를 피할 수 있는 맬웨어가 크게 확산하며 ‘맬웨어의 각축장’이 벌어질 수 있다고 경고했다. 세상의 모든 IT 리서치 자료, '넘버스' 여기서 소개한 모든 자료는 넘버스(Numbers) 서비스에 등록돼 있다. 넘버스는 IT 전문 미디어 ITWorld가 제공하는 IT 리서치 자료 메타 검색 서비스다. IDC, 가트너, 포레스터 등 주요 시장조사 업체의 자료는 물론 국내외 정부와 IT 기업, 민간 연구소 등이 발표한 기술 관련 최신 자료를 총망라했다. 2024년 1월 현재 1,300여 건의 자료가 등록돼 있으며, 매달 50여 건이 새롭게 올라온다. 등록된 자료는 출처와 토픽, 키워드 등을 기준으로 검색할 수 있고, 관련 기사를 통해 해당 자료의 문맥을 이해할 수 있다. 자료의 원문 제목과 내용을 볼 수 있는 링크, 자료를 발행한 주체와 발행 일자도 함께 확인할 수 있다. mia.kim@foundryco.com
구글의 고(Go) 프로그래밍 언어가 처음 등장했을 때는 이 언어는 호기심 많은 컴퓨터 전문가나 다루던 언어였다. 그러나 이후 10여 년의 시간을 거치면서 세계적으로 중요한 여러 클라우드 네이티브 프로젝트를 움직이는 검증된 프로그래밍 언어로 발전했다. 도커, 쿠버네티스와 같은 중요한 프로젝트에서 개발자가 고를 선택한 이유는 무엇일까? 고의 대표적인 특징은 무엇이고, 다른 프로그래밍 언어와 어떤 면에서 다를까? 고는 어떤 종류의 프로젝트에 가장 적합할까? 여기서는 고의 기능과 최적의 사용 사례는 물론 부족한 기능과 제약을 살펴보고 앞으로의 발전 방향을 예측해 본다. 작고 간소한 고 언어 고, 또는 흔히 말하는 고랭(Golang)은 오랜 유닉스 권위자이자 구글 특별 엔지니어인 롭 파이크를 주축으로 구글 직원이 만든 언어지만 엄밀히 말하면 “구글 프로젝트”는 아니다. 그보다는 언어의 사용 방법과 방향에 대해 명확한 소신이 있는 리더십의 주도로 커뮤니티에서 개발한 오픈소스 프로젝트라고 하는 편이 더 정확하다. 고는 쉽게 배울 수 있고 다루기 편하며 다른 개발자가 읽기 쉬운 언어를 목표로 한다. 고는 특히 C++와 같은 언어와 비교해 기능이 많지는 않다. 구문 측면에서는 C와 비슷하므로 오랜 기간 C를 사용해 온 개발자라면 비교적 쉽게 배울 수 있다. 그러나 고의 여러 기능, 특히 동시성 및 함수형 프로그래밍 기능은 얼랭(Erlang)과 같은 언어와 더 비슷하다. 고는 온갖 종류의 크로스 플랫폼 엔터프라이즈 애플리케이션을 구축하고 유지하기 위한 C와 유사한 언어로, 자바와도 많은 공통점을 갖고 있다. 또한 파이썬과는 유사점보다 차이점이 훨씬 더 크긴 하지만 어디에서나 실행 가능한 코드를 빠르게 개발할 수 있다는 면에서는 마찬가지라고 할 수 있다. 고 설명 문서를 보면, 고를 “동적 형식 지정 인터프리트 언어처럼 느껴지는 빠른 정적 형식 지정 컴파일 언어”라고 설명한다. 규모가 큰 고 프로그램도 컴파일에는 몇 초밖에 걸리지 않는다. 또한 고에서는 C 스타일의 include 파일 및 라이브러리에 따르는 오버헤드를 대부분 피할 수 있다. 고 언어의 강점 고는 여러 가지 면에서 개발자의 일을 편하게 해준다. 강점 1. 편리함 고는 많은 일반적인 프로그래밍 요구를 충족할 수 있다는 점에서 파이썬과 같은 스크립팅 언어와 자주 비교된다. 이런 기능 중에는 동시성과 스레드 동작을 위한 고루틴처럼 언어 자체에 내장된 경우도 있고, 고의 http 패키지와 같이 고 표준 라이브러리 패키지로 제공되는 부가적인 기능도 있다. 고는 파이썬과 마찬가지로 가비지 수집을 포함한 자동 메모리 관리 기능을 제공한다. 고 코드는 파이썬과 같은 스크립팅 언어와 달리 실행 속도가 빠른 네이티브 바이너리로 컴파일된다. 또한 C 또는 C++와 달리 고의 컴파일 속도는 매우 빨라서 고로 작업하다 보면 컴파일 언어보다는 스크립팅 언어에 가깝게 느껴진다. 고 빌드 시스템은 다른 컴파일 언어에 비해 덜 복잡하다. 몇 단계만 거치면 별다른 수고 없이 프로젝트를 빌드하고 실행할 수 있다. 강점 2. 빠른 속도 고 바이너리의 실행 속도는 C 바이너리에 비하면 느리지만 그 차이가 크지는 않아서 대부분의 애플리케이션에서 무시해도 될 정도다. 성능은 대부분의 작업에서 C에 필적하며, 자바스크립트, 파이썬, 루비 등 개발 속도로 유명한 다른 언어와 비교하면 대체로 훨씬 더 빠르다. 강점 3. 이식성 고 툴체인으로 생성된 실행 파일은 기본적인 외부 종속성 없이 독립적으로 작동할 수 있다. 고 툴체인은 다양한 운영체제 및 하드웨어 플랫폼용으로 제공되며, 이러한 툴체인을 사용해 여러 플랫폼에 걸쳐 바이너리를 컴파일할 수 있다. 강점 4. 상호운용성 고는 모든 기능을 기반 시스템에 대한 접근성을 희생하지 않고 제공한다. 고 프로그램은 외부 C 라이브러리와 통신하거나 네이티브 시스템을 호출할 수 있다. 예를 들어 도커에서 고는 저수준 리눅스 함수, 컨트롤 그룹(cgroups) 및 네임스페이스와 상호작용해 컨테이너 동작을 구현한다. 강점 5. 광범위한 지원 고 툴체인은 리눅스, 맥OS 또는 윈도우 바이너리나 도커 컨테이너로 무료로 사용 가능하다. 고는 레드 햇 엔터프라이즈 리눅스, 페도라와 같은 많은 인기 있는 리눅스 배포판에 기본적으로 포함되므로 이러한 플랫폼에 비교적 쉽게 고 소스를 배포할 수 있다. 마이크로소프트 비주얼 스튜디오 코드부터 액티브스테이트(ActiveState)의 코모도(Komodo) IDE에 이르기까지 많은 서드파티 개발 환경도 충실하게 지원한다. 고 언어가 가장 적합한 분야 모든 작업에 적합한 언어는 없지만 다른 언어에 비해 더 많은 작업에서 효과적인 언어는 있다. 고는 다음과 같은 애플리케이션 유형 개발에서 가장 빛을 발한다. 분야 1. 클라우드 네이티브 개발 고의 동시성과 네트워킹 특성, 높은 수준의 이식성은 클라우드 네이티브 앱을 구축하는 데 적합하다. 실제로 고는 도커, 쿠버네티스, 이스티오를 포함한 클라우드 네이티브 컴퓨팅의 여러 초석을 구축하는 데 사용됐다. 분야 2. 분산 네트워크 서비스 네트워크 애플리케이션의 성패는 동시성에 달려 있는데, 고루틴과 채널 등 고의 네이티브 동시성 기능이 이 부분에서 강점이 있다. API, 웹 서버, 웹 애플리케이션을 위한 최소한의 프레임워크 등 네트워킹, 분산 기능 및 클라우드 서비스를 위한 고 프로젝트가 많은 것도 이 때문이다. 분야 3. 유틸리티 및 독립형 툴 고 프로그램은 최소한의 외부 종속성을 가진 바이너리로 컴파일된다. 따라서 시작 시간이 빠르고 즉시 패키징해 재배포할 수 있으므로 유틸리티나 다른 툴을 만드는 데 적합하다. 한 가지 예로 SSH 등에 사용되는 텔레포트(Teleport)라는 액세스 서버가 있다. 텔레포트는 소스에서 컴파일하거나 사전 빌드된 바이너리를 다운로드하는 방법으로 빠르고 쉽게 서버에 배포할 수 있다. 고 언어의 제약 제약 1. 생략된 언어 기능이 많음 지향점이 뚜렷한 고의 기능은 칭찬과 비판을 동시에 받아왔다. 고는 작고 이해하기 쉬운 언어에 중점을 두고 설계됐으므로, 일부 기능은 의도적으로 생략됐다. 그 결과 다른 언어에서는 일반적인 몇 가지 기능을 고에서는 볼 수 없다. 오랜 불만 중 하나는 한 함수가 여러 유형의 변수를 받을 수 있게 해주는 제네릭 함수의 부재였다. 고 개발 팀은 고의 나머지 부분을 보완하는 구문과 동작을 구현해야 한다는 이유로 오랜 시간 동안 제네릭 추가에 반대 입장을 고수했다. 그러나 2022년 초에 출시된 고 1.18부터는 제네릭을 위한 구문이 포함됐다. 여기서 알 수 있는 점은 고는 여러 버전 간에 폭넓은 호환성을 보존한다는 이유로 중대한 기능을 추가하는 일이 거의 없고, 추가할 때도 많은 고민을 거친다는 것이다. 제약 2. 바이너리 크기가 클 수 있음 고의 또 다른 잠재적인 단점은 생성된 바이너리의 크기다. 기본적으로 고 바이너리는 정적으로 컴파일된다. 즉, 런타임에 필요한 모든 요소가 바이너리 이미지에 포함된다. 이 방식은 빌드 및 배포 프로세스를 간단하게 해주지만 그 대가로 “Hello, world!”를 출력하는 바이너리의 크기가 64비트 윈도우 기준 약 1.5MB에 이른다. 고 팀은 각 릴리스마다 바이너리의 크기를 줄이기 위한 작업을 해오고 있다. 또한 압축이나 디버그 정보를 제거하는 방법으로 고 바이너리 크기를 줄이는 것도 가능하다. 후자의 방법은 서비스가 실패할 경우 디버그 정보를 유용하게 사용할 수 있는 클라우드 또는 네트워크 서비스보다는 독립형 분산 앱에서 더 적합하다. 제약 3. 가비지 수집에서 많은 리소스 소비 고가 자랑하는 기능인 자동 메모리 관리는 단점이 되기도 한다. 가비지 수집을 위해 얼마간의 처리 오버헤드가 필요하기 때문이다. 고는 설계상 수동 메모리 관리 기능을 제공하지 않으며, 고의 가비지 수집은 엔터프라이즈 애플리케이션에서 발생하는 메모리 부하에 잘 대응하지 못한다는 비판을 받아왔다. 그래도 새 버전이 나올 때마다 메모리 관리 기능이 개선되고 있다. 예를 들어 고 1.8에서는 가비지 수집의 지연 시간이 크게 줄어들었다. 고 개발자는 C 확장에서 수동 메모리 할당을 사용하거나 서드파티 수동 메모리 관리 라이브러리를 사용할 수 있지만, 대부분의 고 개발자는 이러한 문제에 대해 네이티브 솔루션을 선호한다. 제약 4. GUI 구축을 위한 표준 툴킷의 부재 데스크톱 애플리케이션의 GUI와 같이 고 애플리케이션을 위한 풍부한 GUI를 구축하는 소프트웨어 문화는 여전히 빈약하다. 대신 대부분의 고 애플리케이션은 명령줄 툴 또는 네트워크 서비스다. 다만 고 애플리케이션에 GUI를 제공하기 위한 다양한 프로젝트가 진행 중이다. 대표적인 것이 GTK 및 GTK3 프레임워크를 위한 바인딩이다. C 바인딩에 의존하며 순수 고로 작성되지 않았지만 플랫폼 네이티브 UI를 제공하는 프로젝트도 있다. 윈도우 사용자라면 워크(walk)를 사용해볼 수 있다. 그러나 아직은 확고한 승자나 장기적인 관점에서 안전한 방법이 없다. 크로스 플랫폼 GUI 라이브러리를 구축하고자 했던 구글 프로젝트를 포함한 몇몇 프로젝트도 성과 없이 끝났다. 또한 고는 설계상 플랫폼 독립적이므로 이와 같은 프로젝트가 표준 패키지 모음의 일부가 될 가능성은 낮다. 마지막으로, 고는 네이티브 시스템 함수와 통신할 수 있지만 커널 또는 디바이스 드라이버, 임베디드 시스템과 같은 저수준 시스템 구성요소를 개발하기 위한 용도로는 적합하지 않다. 결국 고 런타임과 고 애플리케이션을 위한 가비지 수집기는 기반 운영체제에 의존한다. 이런 작업에 적합한 최신 언어에 관심이 있다면 러스트 언어를 추천한다. 고 언어의 미래 고 개발진은 고집을 부리기보다는 고 개발자 기반을 더욱 포용하는 방향으로 언어의 방향을 바꾸고 있으며, 그에 따라 앞으로는 이 개발자층의 희망 및 요구사항을 더 반영하며 개발될 것이다. 이 같은 변화의 대표적인 예가 최선의 방법에 대한 오랜 숙고 끝에 추가된 제네릭이다. 2021년 고 개발자 설문에서 고 개발자들은 고 언어가 제공하는 기능에 전반적으로 만족한다고 답했지만 개선해야 할 부분도 많다고 지적했다. 고 사용자들이 주로 개선을 원하는 분야는 종속성 관리(고 언어의 오랜 숙제), 버그 진단, 안정성이며, 그에 비해 메모리, CPU 사용률, 바이너리 크기, 빌드 시간 등의 순위는 훨씬 낮았다. 대부분의 언어는 핵심 사용 사례에 중점을 둔다. 고는 처음 등장하고 10년 동안 네트워크 서비스 틈새를 파고들었으며 이 영역에서 계속 확장해 나갈 가능성이 높다. 설문에서 확인된 고 언어의 주 사용 사례는 API 또는 RPC 서비스 생성(49%), 데이터 처리(10%), 웹 서비스(10%), CLI 애플리케이션(8%) 순이었다. 고 언어의 매력이 높아지고 있음을 보여주는 또 다른 신호는 언어 평가 후 실제로 도입하는 개발자의 수다. 프로젝트에 고 사용을 고려 중이라고 답한 설문 응답자 중 75%는 고를 선택했다. 고를 선택하지 않은 개발자가 선택한 주요 대안은 러스트(25%), 파이썬(17%), 자바(12%)였다. 이들 각 언어는 다른 틈새 시장을 발견했거나 지금 찾고 있다. 러스트의 경우 안전하고 빠른 시스템 프로그래밍, 파이썬은 프로토타이핑과 자동화 및 글루 코드, 자바는 전통적인 엔터프라이즈 애플리케이션이다. 고의 속도와 간편한 개발이 다른 사용 사례로 얼마나 확산될지, 또는 고가 엔터프라이즈 개발 분야에 얼마나 깊이 침투하게 될지는 아직 알 수 없다. 그러나 주요 프로그래밍 언어로서 고의 미래는 이미 보장돼 있다. 특히 고의 속도와 단순함은 가장 큰 미덕이다. 장기적인 유지 관리가 가능한 확장성 있는 인프라를 더 쉽게 개발할 수 있는 기반이 되는 클라우드에서고 언어의 미래는 확실하다. editor@itworld.co.kr
GPT, 바드, 라마 2 같은 대규모 언어 모델(LLM)은 대중의 상상력을 자극하고 다양한 반응을 끌어냈다. LLM에 대한 열기의 이면을 살펴보면서 대규모 언어 모델의 기원, 이러한 모델이 어떻게 구축 및 학습되는지를 살펴본다. 또한, 어떤 범위에서 효과적인지 검토하고, 가장 많이 사용되는 LLM에 대해 알아보자. 대규모 언어 모델이란? 언어 모델의 시초는 20세기 초까지 거슬러 올라가지만 대규모 언어 모델이 본격적으로 부상한 시점은 신경망이 도입된 이후다. 특히 2017년에 등장한 트랜스포머(Transformer) 심층 신경망 아키텍처는 언어 모델에서 LLM으로의 진화에 큰 역할을 했다. 대규모 언어 모델은 설명 프롬프트를 기반으로 한 텍스트 생성, 코드 생성 및 코드 완성, 텍스트 요약, 언어 간 번역, 텍스트투스피치 및 스피치투텍스트 애플리케이션을 포함한 다양한 작업에 유용하다. 한편, 적어도 현재 개발 단계에서의 LLM에는 단점도 있다. 생성된 텍스트의 품질이 그다지 좋은 편이 아니며, 형편없는 경우도 종종 발생한다. LLM은 없는 사실을 만들어 내기도 하는데 이를 환각(hallucination)이라고 한다. 답을 구하는 사용자에게 관련 지식이 없다면 환각은 상당히 그럴듯하게 들릴 것이다. 언어 번역의 경우, 네이티브 스피커의 검수를 받지 않은 문장은 100% 정확한 경우가 거의 없지만, 검수는 일반적으로 상용구에 한해서만 이뤄진다. 생성된 코드에는 버그가 흔하고, 아예 실행되지 않는 경우도 있다. 대체로 LLM은 논란의 여지가 있는 언급을 하거나 불법적인 행동을 추천하는 일이 없도록 미세한 조정을 거치지만 악의적인 프롬프트를 사용하면 안전 장치를 무력화할 수도 있다. 대규모 언어 모델을 학습시키기 위해서는 대규모 텍스트 말뭉치(corpus)가 하나 이상 필요하다. 학습 예제에는 1B 워드 벤치마크(1B Word Benchmark), 위키피디아, 토론토 북 코퍼스(Toronto Books Corpus), 커먼 크롤(Common Crawl) 데이터 집합, 그리고 공개 오픈소스인 깃허브 리포지토리 등이 포함된다. 대규모 텍스트 데이터 집합에는 저작권 침해와 쓰레기라는 두 가지 문제점이 있다. 저작권 침해의 경우 현재 여러 관련 소송이 진행 중이다. 쓰레기는 최소한 청소는 가능하다. 쓰레기 청소가 된 데이터 집합의 예로, 커먼 크롤 데이터 집합을 기반으로 한 800GB 용량의 데이터 집합인 콜로설 클린 크롤드 코퍼스(Colossal Clean Crawled Corpus: C4)가 있다. 대규모 언어 모델은 딥러닝 신경망, 대규모 학습 말뭉치를 사용하며, 신경망을 위한 수백만 개 이상의 매개변수 또는 가중치를 필요로 한다는 면에서 전통적인 언어 모델과 다르다. 하나 이상의 대용량 학습 말뭉치와 함께 LLM에는 많은 수의 매개변수, 즉 가중치가 필요하다. 매개변수의 수는 지금까지 매년 증가했다. 엘모(ELMo, 2018)의 매개변수 수는 9,360만 개이며 버트(BERT, 2018)는 1억 1,700만 개, T5(2020)는 2억 2,000만 개다. GPT2(2019)의 경우 16억 개, GPT3(2020)는 1,750억 개, 팜(PaLM, 2022)은 5,400억 개이며 GPT4(2023)의 매개변수는 1조 7,600억 개에 이른다. 매개변수가 많을수록 모델의 정확도는 높아지지만 그만큼 더 많은 메모리가 필요하고 실행 속도가 느려진다. 2023년에는 비교적 작은 모델들이 여러 가지 크기로 출시되기 시작했다. 예를 들어 라마 2(Llama 2)는 70억 개, 130억 개, 700억 개 버전으로 제공되며 클로드 2(Claude 2)는 930억 개와 1,370억 개의 매개변수 크기로 제공된다. 텍스트를 생성하는 AI 모델의 역사 언어 모델의 시초는 1913년에 시에 수학을 적용한 안드레이 마코프다. 마코프는 푸시킨의 유게니 오네긴에서 한 문자가 나타날 확률은 이전 단어에 따라 달라지며, 일반적으로 자음과 모음이 번갈아 나타나는 경향이 있음을 밝혀냈다. 현재 마코프 체인은 각 이벤트의 확률이 이전 이벤트의 상태에 따라 달라지는 이벤트 시퀀스를 설명하는 데 사용된다. 마코프의 연구는 1948년 클로드 섀넌의 통신 이론에서 확장됐고, 이후 IBM의 프레드 젤리넥과 로버트 머서가 1985년에 교차 검증 기반의 언어 모델을 만들어 실시간 대규모 어휘 음성 인식에 적용하면서 다시 한번 확장됐다. 기본적으로 통계적 언어 모델은 단어의 시퀀스에 확률을 할당한다. 언어 모델의 실제 작동을 간단히 보려면 구글 검색 또는 휴대폰에서 자동 완성을 켠 상태로 문자 메시지 앱에 단어를 몇 개 입력해보면 된다. 2000년에 요슈아 벤지오와 공동 저자들은 통계적 언어 모델의 확률을 신경망으로 대체하여 차원의 저주를 회피하고 당시 최첨단 기술이었던 평탄화 트라이그램(smoothed trigram) 모델에 비해 단어 예측을 20%~35% 개선하는 신경 확률 언어 모델을 다룬 논문을 발표했다. 피드 포워드 자동 회귀 신경망 언어 모델 개념은 지금도 여전히 사용되지만, 현재의 모델은 매개변수 수가 수십억 개에 이르고 광범위한 말뭉치로 학습되며, 그래서 ‘대규모 언어 모델’이라는 명칭으로 불린다. 언어 모델이 성능 개선을 목표로 발전하면서 시간이 갈수록 크기도 커졌다. 그러나 이 같은 크기 증가에는 단점도 있다. 2021년에 발표된 논문 ‘확률적 앵무새의 위험에 대해: 언어 모델의 크기에는 한계가 없는가?’는 언어 모델은 클수록 좋다고 생각하는 경향에 대해 의문을 제기한다. 논문 저자는 웹의 모든 것을 수집하지 말고 환경적, 재정적 비용을 먼저 고려해서 데이터 집합을 선별 및 문서화하는 데 투자할 것을 제안한다. 언어 모델과 LLM에 대한 이해 현재의 언어 모델은 다양한 작업과 목표가 있고 형태도 다양하다. 예를 들어 언어 모델은 문서에서 다음 단어를 예측하는 작업 외에 새로운 텍스트를 생성하고 텍스트를 분류하고 질문에 답하고 감정을 분석하고 명명된 개체를 인식하고 음성을 인식하고 이미지의 텍스트를 인식하고 손글씨를 인식할 수 있다. 일반적으로 중소 규모의 보충 학습 집합을 사용하여 실시되는 특정 작업을 위한 언어 모델 맞춤 설정을 미세 조정(finetuning)이라고 한다. 언어 모델에 들어가는 중간 작업의 예를 들면 다음과 같다. 학습 말뭉치를 문장으로 세분화 단어 토큰화 어간 추출 표제어 추출(어근 단어로 변환) POS(Part Of Speech) 태깅 정지단어 식별 및 제거(경우에 따라) 명명된 객체 인식(NER) 텍스트 분류 청킹(Chunking, 문장을 유의미한 구로 분할) 상호참조 해결(텍스트의 동일한 개체를 가리키는 모든 표현 찾기) 이 중에서 일부는 텍스트 분류와 같이 자체적인 작업 또는 애플리케이션으로도 유용하다. 대규모 언어 모델은 딥러닝 신경망과 대규모 학습 말뭉치를 사용하며, 신경망을 위한 수백만 개 이상의 매개변수 또는 가중치를 필요로 한다는 면에서 기존 언어 모델과 다르다. LLM 학습은 지정된 작업에 대한 모델의 오류를 가능한 가장 낮게 하기 위한 가중치 최적화의 문제다. 예를 들어 보통 자기 지도 방식으로 말뭉치의 임의의 지점에서 다음 단어를 예측하는 작업이 있다. 가장 인기 있는 LLM 최근 대규모 언어 모델의 폭발적인 성장을 촉발한 것은 2017년 발표된 “필요한 것은 주의 집중(Attention is All You Need)”이라는 논문이다. 이 논문은 “순환과 컨볼루션을 완전히 배제하고 오로지 주의 집중 메커니즘에만 기반을 둔 새롭고 단순한 신경망 아키텍처”로 트랜스포머를 소개했다. 오늘날 가장 많이 사용되는 대규모 언어 모델 중 몇 가지를 소개하면 다음과 같다. 엘모(ELMo) 엘모는 2018년에 나온 앨런NLP(AllenNLP)의 심층 맥락화 단어 표현 LLM으로, 단어 사용의 복잡한 특징, 그리고 언어적 맥락에 따라 그 단어 사용이 어떻게 달라지는지를 모델링한다. 원본 모델은 9,360만 개의 매개변수를 사용하며 1B 워드 벤치마크로 학습됐다. 버트(BERT) 버트는 구글 AI가 자사 트랜스포머 신경망 아키텍처를 기반으로 2018년에 출시한 언어 모델이다. 버트는 모든 레이어에서 왼쪽과 오른쪽의 맥락에 대한 공동 조건화를 통해 레이블 없는 텍스트로부터 심층 양방향 표현을 사전 학습하도록 설계됐다. 초기에 사용된 두 모델의 크기는 각각 매개변수 1억 개와 3억 4,000만 개였다. 버트는 토큰의 최대 15%가 “손상되는” 마스킹된 언어 모델링(MLM)을 학습에 사용한다. 영어 위키피디아와 토론토 북 코퍼스를 사용해 학습됐다. T5 구글의 2020년 텍스트투텍스트 트랜스퍼 트랜스포머(T5) 모델은 GPT, ULMFiT, 엘모, 버트 및 후속 모델에 적용된 최고의 전이 학습 기법을 기반으로 새로운 모델을 합성한다. 오픈소스 콜로설 클린 크롤드 코퍼스(C4)를 사전 학습 데이터 집합으로 사용한다. 영어용 표준 C4는 원본 커먼 크롤 데이터 집합을 기반으로 한 800GB 데이터 집합이다. T5는 모든 NLP 작업을 통합 텍스트투텍스트 형식으로 재구성한다. 클래스 레이블 또는 입력의 범위만 출력할 수 있는 버트 스타일 모델과 달리, 이 형식에서는 입력과 출력이 항상 텍스트 문자열이다. 기본 T5 모델에는 총 2억 2,000만 개의 매개변수가 사용된다. GPT 제품군 AI 연구 및 배포 기업인 오픈AI(OpenAI)의 사명은 “인공 일반 지능(AGI)이 모든 인류에 혜택이 되도록 하는 것”이다. 물론 AGI에는 아직 도달하지 못했고, 머신러닝의 개척자인 메타FAIR의 얀 르쿤 등 일부 AI 연구자는 AGI에 대한 오픈AI의 현재 접근 방식에는 답이 없다고 생각하기도 한다. 오픈AI는 GPT 언어 모델 제품군을 갖추고 있다. GPT 제품군 전체와 2018년 이후의 발전 과정을 간략하게 살펴보자. (참고로 GPT 제품군 전체는 구글의 트랜스포머 신경망 아키텍처를 기반으로 한다. 구글이 트랜스포머를 오픈소스로 공개했으므로 이는 합법적이다.) GPT(생성형 사전 학습 트랜스포머)는 오픈AI가 2018년에 출시한 모델로, 약 1억 1,700만 개의 매개변수를 사용한다. GPT는 토론토 북 코퍼스를 사용해 사전 학습된 단방향 트랜스포머이며 인과적 언어 모델링(CLM) 목표에 따라, 즉 시퀀스의 다음 토큰을 예측하도록 학습됐다. GPT2는 2019년에 출시된 GPT 확장 모델로, 매개변수는 15억 개이며 최대 40GB의 텍스트 데이터를 포함한 800만 개의 웹페이지 데이터 집합을 사용해 학습됐다. 오픈AI는 GPT2가 “너무 뛰어나고” “가짜 뉴스”로 이어질 수 있다는 이유에서 원래는 GPT2에 대한 접근을 제한했다. 이 조치는 나중에 철회됐지만, GPT3가 출시되면서 사회적 문제가 생길 가능성이 더 커졌다. GPT3는 2020년에 나온 자동 회귀 언어 모델로, 1,750억 개의 매개변수를 사용하며 필터링된 버전의 커먼 크롤과 웹텍스트2(WebText2), 북1(Books1), 북2(Books2), 영어 위키피디아의 조합으로 학습됐다. GPT3에 사용된 신경망은 GPT2와 비슷하지만 몇 개의 추가 블록이 있다. GPT3의 가장 큰 단점은 환각, 즉 명확한 근거 없이 사실을 지어내는 경향이다. GPT3.5와 GPT4에도 정도는 덜하지만 같은 문제가 있다. 코덱스(CODEX)는 2021년 GPT3에서 파생된 모델로 코드 생성을 위해 5,400만 개의 오픈소스 깃허브 리포지토리로 미세 조정됐다. 깃허브 코파일럿(Copilot)에 사용되는 모델이다. GPT3.5는 GPT3와 코덱스의 2022년 업데이트 집합이다. gpt3.5turbo 모델은 채팅에 최적화됐지만 기존의 완성 작업에서도 잘 작동한다. GPT4는 오픈AI의 주장으로는 일부 전문 및 학술 벤치마크에서 인간 수준의 성능을 발휘하는 2023년 대규모 멀티모달 모델(이미지와 텍스트 입력을 받아서 텍스트 출력을 생성)이다. GPT4는 미국 변호사 시험, LSAT, GRE 및 여러 AP 주제 시험을 포함한 다양한 시뮬레이션 시험에서 GPT3.5를 앞섰다. 참고로 시간이 지나면서 GPT3.5와 GPT4의 성능도 바뀌었다. 2023년 7월 스탠포드 대학 논문에 따르면 2023년 3월부터 2023년 6월 사이에 소수 식별을 포함한 여러 작업에서 모델의 동작이 크게 바뀌었다. GPT4 모델의 편향성에 대한 우려 GPT4의 학습 방법을 오픈AI가 설명하지 않은 것은 심각한 우려 사항이다. 오픈AI 측이 내세우는 이유는 경쟁이다. 마이크로소프트(현재까지 오픈AI에 130억 달러의 자금을 투자함)와 구글 간의 경쟁을 감안하면 어느 정도 납득은 되는 이유다. 그러나 학습 말뭉치의 편향성에 대해 알지 못한다는 것은 모델의 편향성에 대해 알지 못한다는 것을 의미한다. 에밀리 벤더는 2023년 3월 16일 마스토돈에 게시한 GPT4에 대한 글에서 “#오픈AI가 학습 데이터, 모델 아키텍처 등에 대한 정보를 *공개*하기 전까지 GPT4는 독성 쓰레기로 간주해야 한다”라고 말했다. 챗GPT와 빙GPT는 원래 gpt3.5turbo 기반의 챗봇이었지만 2023년 3월에 GPT4를 사용하도록 업그레이드됐다. 현재 GPT4 기반의 챗봇 버전에 액세스하려면 챗GPT 플러스에 가입해야 한다. GPT3.5 기반의 표준 챗GPT는 2021년 9월까지의 데이터로만 학습됐다. 빙GPT는 “더 뉴 빙”이라고도 하며, 마이크로소프트 엣지 브라우저에서 액세스할 수 있다. 마찬가지로 2021년까지의 데이터로 학습됐다. 이에 대해 빙GPT에 직접 물어보면 지속적으로 학습하면서 웹의 새로운 정보로 지식을 업데이트하고 있다고 주장한다. 홍콩 과학기술대학교 인공 지능 연구 센터의 파스칼 펑 교수는 2023년 3월 초에 챗GPT 평가에 대해 강연했는데, 시간을 투자해서 볼 만한 가치가 충분한 강연이다. 람다(LaMDA) 구글이 2021년에 발표한 “획기적인” 대화 기술인 람다(대화 애플리케이션을 위한 언어 모델)는 트랜스포머 기반 언어 모델로, 대화를 통해 학습되며 응답의 분별력과 구체성을 대폭 개선하도록 미세 조정됐다. 람다의 강점은 사람의 대화에서 흔히 발생하는 주제 표류에 대처할 수 있다는 것이다. 팜(PaLM) 팜(패스웨이 언어 모델)은 구글 리서치가 2022년에 발표한 고밀도 디코더 전용 트랜스포머 모델로 매개변수 수는 5,400억 개이며 패스웨이(Pathways) 시스템을 사용해 학습됐다. 팜은 고품질의 웹 문서와 서적, 위키피디아, 대화, 깃허브 코드를 포함한 여러 영어 및 다국어 데이터 집합의 조합을 사용해 학습됐다. 또한 구글은 모든 공백(특히 코드에 중요)을 보존하고, 어휘 목록에서 벗어난 유니코드 문자를 바이트로 분할하고, 숫자를 각 자릿수당 하나의 개별 토큰으로 분할하는 “무손실” 어휘 목록도 만들었다. 팜코더(PaLMCoder)는 파이썬 전용 데이터 집합으로 미세 조정된 팜 540B 버전이다. 팜E(PaLME) 팜E는 구글이 로봇공학용으로 2023년에 구체화한 멀티모달 언어 모델이다. 연구진은 팜을 가져와서 로봇 에이전트의 센서 데이터로 보완하여 “구체화(팜E의 ‘E’는 구체화를 의미)”했다. 또한 팜E는 팜 외에 ViT 22B 비전 모델도 채택했으므로 일반적인 기능의 비전 및 언어 모델이기도 하다. 바드(Bard) 바드는 구글이 2023년 출시한 람다 기반의 구글 대화형 AI 서비스다. 2023년 3월 21일에 출시된 후 2023년 5월 10일에 일반에 공개됐다. 바드는 출시 이후 여러 번 업데이트됐다. 2023년 4월에는 20개의 프로그래밍 언어로 코드를 생성하는 기능이 추가됐고, 2023년 7월에는 40가지 인간 언어 입력에 대한 지원과 함께 구글 렌즈가 통합되고 40개 이상의 언어를 사용한 텍스트투스피치 기능이 추가됐다. 라마(LLaMA) 라마(대규모 언어 모델 메타 AI)는 650억 매개변수를 사용하는 “원시” 대규모 언어 모델로, 메타 AI(전 메타FAIR)가 2023년 2월에 출시했다. 라마에 대한 메타의 설명은 다음과 같다. 대규모 언어 모델 분야에서는 라마와 같은 비교적 작은 기반 모델을 학습시키는 것이 바람직하다. 훨씬 더 적은 컴퓨팅 성능과 리소스만으로 새 접근 방식을 테스트하고 다른 사람들의 작업을 검증하고 새로운 사용 사례를 탐색할 수 있기 때문이다. 기반 모델은 레이블 없는 대량의 데이터 집합으로 학습되므로 다양한 작업을 위한 미세 조정에 이상적이다. 라마는 여러 크기로 출시됐으며 어떻게 구축되었는지에 대한 자세한 내용이 담긴 모델 카드가 제공된다. 메타 AI의 얀 르쿤에 따르면 원래는 체크포인트와 토크나이저를 요청해야 했지만, 정식으로 요청을 제출해서 모델을 받은 누군가가 4채널 사이트에 다운로드 가능한 토렌트를 게시한 덕분에 지금은 쉽게 구할 수 있다. 라마 2(Llama 2) 라마 2는 차세대 메타 AI 대규모 언어 모델로, 2023년 1월부터 7월 사이에 라마 1에 비해 40% 더 많은 데이터로 학습됐으며(공개적으로 사용 가능한 소스에서 2조 개의 토큰 사용), 컨텍스트 길이는 2배 더 긴 4096이다. 라마 2는 매개변수 70억 개, 130억 개, 700억 개의 여러 크기로 제공되고 사전 학습 및 미세 조정된 변형도 있다. 메타 AI는 라마 2가 오픈소스라고 주장하지만 허용되는 사용에 대한 제약이 포함됐다는 이유로 이 주장에 동의하지 않는 사람들도 있다. 커뮤니티 라이선스 외에 상용 라이선스도 제공된다. 라마 2는 최적화된 트랜스포머 아키텍처를 사용하는 자동 회귀 언어 모델이다. 조정된 버전은 지도 미세 조정(SFT)과 인간 피드백을 통한 강화 학습(RLHF)을 사용해서 유용성과 안전성에 대한 인간의 선호도에 맞게 조정된다. 라마 2는 현재 영어 전용이다. 모델 카드에는 벤치마크 결과와 탄소 발자국 통계가 포함돼 있다. 연구 논문 ‘라마 2: 개방형 기반과 미세 조정된 채팅 모델’에서 더 자세한 내용을 볼 수 있다. 클로드 2(Claude 2) 2023년 7월에 출시된 앤트로픽(Anthropic)의 클로드 2는 단일 프롬프트에서 최대 10만 개의 토큰(약 7만 단어)을 수락하며, 수천 토큰의 스토리를 생성할 수 있다. 클로드는 구조적 데이터를 편집, 재작성, 요약, 분류, 추출할 수 있으며 내용을 기반으로 한 Q&A와 그 외의 다양한 작업이 가능하다. 대부분의 학습은 영어로 이뤄졌지만 다른 여러 일반적인 언어에서도 잘 작동하며, 일반적이지 않은 언어로도 어느 정도의 커뮤니케이션이 가능하다. 프로그래밍 언어에 대한 지식도 방대하다. 클로드는 유용하고 정직하고 무해한(Helpful, Honest, Harmless, HHH) 모델로 학습됐으며 무해함을 강화하고 프롬프트를 통해 공격적이거나 위험한 출력을 생성하기가 더 어렵게 하기 위한 광범위한 레드 팀 과정을 거쳤다. 사용자의 개인 데이터를 학습에 사용하거나 인터넷에서 답을 참조하지 않지만, 사용자가 직접 클로드에 인터넷의 텍스트를 제공해서 그 내용으로 작업을 수행하도록 요청할 수는 있다. 클로드는 미국 및 영국 사용자에게 무료 베타 버전으로 제공되며, 생성형 AI 플랫폼인 재스퍼(Jasper), 코드 AI 플랫폼인 소스그래프 코디(Sourcegraph Cody), 아마존 베드록(Amazon Bedrock)과 같은 상업적 협력업체 채택됐다. 결론 살펴본 바와 같이 대규모 언어 모델은 여러 기업에서 활발하게 개발되는 중이며 오픈AI와 구글 AI, 메타 AI, 앤트로픽에서 거의 매달 새로운 버전이 나오고 있다. 이러한 LLM 중에서 진정한 인공 일반 지능(AGI)을 달성한 모델은 없지만 새 모델이 나올 때마다 대체로 지난 모델에 비해 개선되는 중이다. 다만 대부분의 LLM에서 환각을 비롯한 비정상적인 현상이 자주 발생하며, 경우에 따라 사용자 프롬프트에 대해 부정확하고 편향되거나 불쾌한 응답을 생산하기도 한다. 결국 출력이 정확함을 검증할 수 있는 경우에 한해서만 LLM을 사용해야 한다. editor@itworld.co.kr
누구나 널리 알려진 좋은 소프트웨어를 사용하고 싶지만, 사실 전문가용 프로그램은 개인이 구매하기에 너무 비싸다. 이럴 때는 실행 파일은 물론 소스 코드까지 다운로드할 수 있는 오픈소스 소프트웨어라는 대안이 있다. 무료 소프트웨어여서 그 품질과 기능에 의심이 들겠지만 걱정할 필요가 없다. 많은 오픈소스 소프트웨어가 전문가용 제품 못지않은 품질과 기능을 제공한다. 오피스부터 미디어 편집, 파일 관리 및 백업까지 분야별 최고의 오픈소스 애플리케이션을 모았다. 생산성 : 오피스, PDF 및 컨퍼런스 툴 컴퓨터에서 매일 하는 작업을 꼽으라면 무엇보다 문서 편집이다. 리브레오피스(LibreOffice)는 텍스트, 스프레드시트, 프레젠테이션을 작성하는 종합 오피스 패키지로, 2000년에 소스코드가 공개된 오픈 오피스(Open Office)에서 파생됐다. 오픈 오피스 프로젝트는 현재 아파치 오픈 오피스라는 이름으로 지속되고 있다. 리브레오피스의 빠른 업데이트 주기는 아파치 오픈 오피스보다 유리한 점이다. 최신 7.5 버전에서는 라이터(Writer)의 텍스트 문서 편집 기능이 개선돼 머리글의 서식이 향상됐고 표 삽입이 쉬워졌다. 컬러 북마크를 사용해 섹션을 더 쉽게 탐색하고 찾을 수 있다. 스프레드시트인 칼크(Calc)에서는 확장된 수식 보조 기능과 다이어그램을 위한 새로운 함수가 눈에 띈다. 드로우(Draw)와 임프레스(Impress)는 표를 더 쉽게 디자인할 수 있게 바뀌었고, EMF 그래픽을 더 빠르게 가져올 수 있다. 어두운 색의 사용자 인터페이스가 표시되는 다크 모드도 지원된다. 한편 여러 기기 간 문서 교환에 유용한 것이 바로 PDF 포맷이다. PDF 파일로 문서를 만들면 다른 운영체제와 모바일 앱에서도 문서가 깨지지 않고 똑같이 표시된다. 마킹, 메모와 같은 부가 기능을 사용해 신속하게 메모 또는 변경 요청을 문서화할 수 있고, 그룹 작업도 가능하다. 보통 많은 사람이 PDF 파일을 다루기 위해 무료 어도비 아크로벳 리더를 사용하지만, PDF 파일을 빠르게 보는 용도로는 오픈소스 프로그램인 수마트라 PDF(Sumatra PDF)가 있다. 구글 번역 및 딥엘(DeepL)을 통한 번역으로 연결되는 링크, 주석을 사용한 마커 삽입 등의 기능을 제공한다. 협업 툴도 살펴보자. 팀의 협업 형태는 코로나 시기를 거치면서 크게 변했다. 온라인 비디오 컨퍼런스가 이제 보편적으로 사용된다. 화상회의는 회의실이 불필요하고 출장을 갈 필요도 없으며 이동 중에도 참여할 수 있는 장점이 있다. 협업 툴에는 줌 또는 마이크로소프트 팀즈가 유명하지만, 오픈소스 대안으로 오픈 토크(Open Talk)가 있다. 오픈 토크 시스템은 클라우드에서 작동하며 웹사이트를 통해 바로 사용할 수 있다. 전화 걸기, 화면 공유, 투표, 회의 녹화 등 상용 경쟁 툴과 비슷한 기능을 제공한다. 이밖에 많은 기업이 이미 작업 그룹을 디지털 방식으로 관리할 텐데, 이 분야에는 매터모스트(Mattermost)가 있다. 그룹 채팅, 프로젝트 관리, 소리를 포함한 화면 공유 옵션 등을 지원하는 데스크톱, 모바일 및 온라인 시스템이다. 매터모스트 웹사이트의 무료 계정을 통해 사용할 수 있다. 회사 IT에 통합하려면 추가 소프트웨어가 필요하며, 기술 지원 및 IT 통합은 유료로 제공된다. 인터넷 : 브라우저와 이메일 메시징, 온라인 쇼핑, 인터넷 뱅킹은 많은 사람에게 없어서는 안될 요소로 자리잡았고, 이런 사이트에 액세스하려면 웹 브라우저가 필요하다. 많은 사용자가 구글 크롬을 선호하지만 크롬에는 개인정보 보호 문제가 있다. 인터넷 검색을 넘어서는 구글의 탐욕스러운 데이터 수집은 이미 악명이 높다. 대안은 언구글드 크로미엄(Ungoogled Chromium)이다. 크롬 웹 브라우저의 오픈소스 버전으로, 구글의 모든 액세스가 차단된다. 서핑 시 기능 제약은 없으며 크롬 웹 스토어의 확장 프로그램도 작동한다. 이메일 역시 PC에서 매일 사용하는 기능이다. 이메일은 속도가 빠르며 사진이나 문서, 다양한 데이터를 주고받기에 적합하다. 썬더버드(Thunderbird)는 많은 기능을 갖춘 무료 메일 프로그램이다. 여러 사서함과 다양한 전송 프로토콜, 주소록, 캘린더 등을 지원한다. 썬더버드 20주년을 맞아 개발팀은 앱 전체에 대한 전반적인 현대화를 진행중이다. 멀티 미디어 : 사진, 영상, DTP 및 디자인 디지털 사진의 인기가 계속되는 가운데, 김프(Gimp)를 사용하면 손쉽게 사진을 편집할 수 있다. 대비와 밝기를 조절하고 이미지를 더 선명하게 할 수 있다. 레이어, 마스크를 비롯한 이미지 몽타주 툴은 오래전부터 거의 모든 이미지 툴이 지원하는 표준 기능이다. 김프 버전 2.10부터는 배경 제거 툴이 추가됐고, 영역을 자르고 선택하는 툴도 포함된다. 또다른 오픈소스 이미지 편집 툴인 디지캠 포토 매니저(Digikam Photo Manager)는 사진 모음을 전체적으로 보여준다. 키워드, 평점, 컬러 마커를 기준으로 정렬하거나 사진의 메타데이터를 분석해 위치를 보여준다. RAW 이미지를 위한 편집 기능과 툴도 있다. 로우 테라피(RAW Therapee)도 RAW 사진 현상을 위한 다양한 툴과 이미지 보기 관리를 포함한 많은 RAW 옵션을 제공한다. 데스크톱 출판(DTP)용 문서 디자인 분야에는 잉크스케이프(Inkscape)와 스크라이버스(Scribus)의 조합을 추천한다. 잉크스케이프에서는 세밀한 일러스트레이션을 디자인할 수 있다. 곡선, 개체, 텍스트를 만드는 주요 기능을 지원하고, 요소 정렬, 색 채우기, 그라디언트 또는 그래픽 결합을 포함한 다양한 툴이 있다. 이 프로그램을 이용하면 확장 가능한 로고, 인포그래픽 및 기타 디자인을 빠르게 만들 수 있다. 이렇게 만든 요소는 스크라이버스의 페이지 디자인에 사용할 수 있다. 샘플 페이지와 자체 디자인된 표준 요소를 사용해 간단한 전단지 또는 메뉴뿐만 아니라 신문, 잡지도 만들 수 있다. PDF 형식으로 출력해 전문적인 인쇄까지 가능하다. 잉크스케이프와 스크라이버스는 JPG, TIF, PNG, SVG와 같은 다양한 그래픽 형식을 지원한다. 한편 그림을 그리고 스케치하고 색을 칠하는 작업을 컴퓨터에서 하는 경우가 늘어나고 있다. 그 결과 아티스트의 일러스트레이션, 그림 또는 개념 디자인까지 디지털로 받아 별도의 스캔 작업 없이 즉각 처리할 수 있는 세상이다. 이때 특수한 그래픽 프로그램을 사용하면 머리 속 아이디어를 바로 화면으로 옮길 수 있다. 크리타(Krita)가 대표적이다. 특수한 브러시 팁, 레이어, 효과, 마스크를 통해 이 과정을 지원한다. 애니메이션 옵션을 사용해 생기를 불어넣을 수도 있다. 그래픽 태블릿과 함께 사용하면 디지털 펜의 압력과 기울기까지 반영해 브러시 스트로크 또는 디지털 연필 스트로크를 표현한다. 3D 애플리케이션인 블렌더(Blender)도 있다. 나온지 30년이 넘은 이 유서 깊은 앱은 처음에 영화사에서 내부적으로만 사용되다가 2002년 오픈소스가 된 이후부터 개발 속도가 빨라졌다. 정교한 모델링과 텍스처 모듈 외에 애니메이션, 합성, 비디오 편집을 위한 기능도 제공한다. 플러그인 인터페이스와 스크립팅을 통해 사용자가 원하는 대로 확장하고 조정할 수 있다. 블렌더는 지원하는 기능이 워낙 다양해 쓰임새도 광범위하다. 예를 들어 스파이더맨 2와 원더우먼 등 헐리우드 영화 제작에도 이 툴이 사용됐다. 나사(NASA)는 인터렉티브 웹 애플리케이션인 익스피리언스 큐리오시티(Experience Curiosity)에 블렌더를 사용했다. 영상 재생기로는 VLC 미디어 플레이어가 압도적이다. 구형 휴대폰 촬영 영상부터 새로운 고해상도 4K 클립까지 VLC로 재생할 수 없는 형식은 거의 없다. 재생 목록 사용하기, 온라인 비디오 및 팟캐스트 검색, 홈 네트워크를 사용한 스트리밍 등으로 다양한 용도에 맞게 사용할 수 있다. 잘 알려져 있지는 않지만 비디오 변환 기능도 유용하다. 샷컷(ShotCut)은 비디오 편집에 유용하다. 비디오를 보고 자르고 배열하는 용도로 사용된다. 비디오, 오디오, 전환, 효과 믹싱을 위한 유연한 타임라인도 제공한다. FFmeg 프레임워크를 설치하면 다양한 비디오 형식을 가져오고 내보낼 수 있다. 많은 사용자가 마이크로소프트의 미디어 플레이어를 사용해 음악 파일을 관리한다. 미디어 플레이어는 디지털화, 재생, 다른 기기로의 스트리밍을 지원하는 좋은 툴이지만 시스템 리소스를 과도하게 쓰는 단점이 있다. 이럴 때 사용할 수 있는 오픈소스 대안이 도파민(Dopamine)이다. 훨씬 더 가벼우면서도 많은 관리 기능, 재생 목록, 통합 이퀄라이저를 제공한다. 또한 온라인에서 노래 가사를 불러오고 Last.fm 및 디스코드를 통합할 수 있다. 포터블 버전이 특히 유용하다. 음악이 들어 있는 USB 드라이브에 설치해 두면 다양한 컴퓨터에서 사용할 수 있으며 곡 데이터베이스는 항상 최신 상태로 유지된다. 이 기능은 로컬 네트워크에서도 작동한다. 보안과 관리 : 데이터 및 시스템 백업 중요한 데이터와 시스템 파티션은 반드시 정기적으로 백업해야 하는데, 문서, 사진 및 음악 백업에 안성맞춤인 오픈소스가 바로 듀플리카티(Duplicati)다. 설치하고 시작하면 백그라운드에서 작동하며, 데이터 선택, 스케줄 등의 구성은 브라우저 인터페이스를 통해 할 수 있다. 하드 디스크, 네트워크 드라이브, USB 스토리지 디바이스 또는 인터넷의 서버를 백업 파일 저장 대상으로 설정할 수 있다. FTP, WebDAV와 같이 잘 알려진 전송 프로토콜 외에 드롭박스, 아마존, 구글과 같은 클라우드 서비스 액세스도 지원한다. 저장된 데이터를 압축하며 AES256으로 암호화한다. 전체 파티션 또는 하드 드라이브 백업에 적합한 또다른 오픈소스 앱이 클론질라(Clonezilla)다. CD 또는 USB 드라이브에 부팅 가능한 복구 시스템을 만든 다음 이를 사용해 하드 디스크 또는 개별 파티션의 이미지를 만든다. 하드웨어 장애가 발생하면 클론질라로 시스템을 재시작하고 이미지 데이터를 복원하면 된다. 백업 저장 대상으로는 로컬 스토리지 기기 또는 네트워크 드라이브를 설정할 수 있다. 클론질라는 NFS 또는 WebDAV를 통해 연결을 설정해 인터넷의 서버로도 데이터를 백업할 수 있다. 한편 문서나 사진을 파일 단위로 공유하는 방법은 많다. 단, 클라우드나 이메일을 통한 공유는 많은 경우 보안 위험이 따르므로, 민감한 데이터의 경우 암호화된 연결을 사용하는 것이 좋다. 이처럼 안전한 파일 교환이 필요할 때 쓸 수 있는 앱이 어니언셰어(Onionshare)다. 어니언셰어는 토르(Tor) 브라우저에 적용돼 사용자 정보를 익명화하는 어니언(Onion) 기술을 활용해 데이터의 안전한 교환을 구현한다. 즉, 전송의 경우 수신자가 검색할 수 있는 어니언 주소를 생성하고, 데이터 암호화 자체가 부가적인 보안을 형성한다. 발신자는 수신자가 전송 잠금을 해제할 수 있는 개인 키를 정의한다. 어니언셰어에는 파일 공유 기능 외에 채팅 옵션과 토르 네트워크를 통해 안전하게 웹사이트를 제공하는 웹 서버 기능도 있다. 그밖에 유용한 오픈소스 애플리케이션 ZIP 형식은 여러 파일을 하나의 패키지로 합치고 데이터를 압축한다. 파일을 압축하면 메일 또는 클라우드를 통해 더 빠르게 전송할 수 있다. 이런 ZIP 압축 프로그램 중 가장 유명한 오픈소스 앱이 7Zip이다. 7Zip은 ZIP 압축 파일을 열고 생성하며 파일을 추가 또는 제거할 수 있고 원하는 경우 윈도우 탐색기의 컨텍스트 메뉴에 통합할 수 있다. 이렇게 하면 ZIP을 열고 만드는 작업을 빠르게 불러올 수 있다. 7Zip을 이용하면 ZIP 파일을 지원할 뿐만 아니라 RAR, TAR, BZIP2, GZ, ARJ, LHA, LZH와 그 외의 많은 형식도 읽을 수 있다. 민감한 데이터가 포함된 파일이라면 AES 크립트(AES Crypt)를 사용해 손쉽게 암호화할 수 있다. 파일을 암호화하면 인터넷을 통해 전송할 때도 안전하게 보호할 수 있다. AES 크립트를 설치하면 윈도우 탐색기의 컨텍스트 메뉴에 새 항목이 생긴다. 암호화를 실행하려면 마우스 오른쪽 버튼으로 하나 이상의 파일을 클릭하고 컨텍스트 메뉴의 “AESCrypt”를 클릭한다. 이후 열리는 창에서 비밀번호를 입력하고 확인을 누르면 된다. 비밀번호를 입력해야만 데이터에 대한 액세스를 허용하는 256비트 보안 파일을 생성한다. 이런 파일을 열려면 마우스 오른쪽 버튼을 다시 클릭하고 AES크립트 항목을 선택한 다음 비밀번호를 입력해야 한다. editor@itworld.co.kr
대규모 언어 모델(LLM)을 기반으로 하는 챗GPT, 클로드(Claude), 바드(Bard)를 비롯한 공용 생성형 AI 챗봇도 충분히 좋지만, 이와 같은 범용 챗봇은 엔터프라이즈 워크플로우에 매끄럽게 통합되지는 않는다. 기업 직원이 별도의 앱을 사용하거나, 회사가 시간과 노력을 들여 애플리케이션 프로그래밍 인터페이스를 통해 자체 애플리케이션에 AI 기능을 추가해야 한다. 또한 챗GPT 및 기타 생성형 AI 챗봇을 사용하기 위해서는 직원이 프롬프트 엔지니어링에 대해서도 배워야 한다. 반면, 임베디드 생성형 AI는 직원이 이 기술을 가장 필요로 하는 곳, 즉 기존 워드 프로세싱 애플리케이션과 스프레드시트, 이메일 클라이언트를 비롯한 기타 엔터프라이즈 생산성 소프트웨어에 새로운 AI 기능을 구현해주며, 이를 위해 회사가 따로 해야 할 일도 없다. 제대로 구현되면 직관적으로, 단절 없이 새로운 AI 기능을 사용할 수 있게 되므로 어려운 생성형 AI 사용법 학습 과정 없이 모든 혜택을 누리게 된다. 포레스터는 최근 북미와 영국의 기술 의사 결정자를 대상으로 한 설문조사 결과를 근거로 2025년까지 거의 모든 기업이 쓰기 및 편집을 포함한 커뮤니케이션 지원 용도로 생성형 AI를 사용하게 될 것으로 예측했다. 실제로 설문 응답자의 70%는 쓰기 또는 편집 작업의 대부분 또는 전체에서 이미 생성형 AI를 사용하고 있다고 답했다. 그러나 포레스터에 따르면 챗GPT 같은 독립적인 생성형 AI 툴은 교차 직무 협업을 지원하지 못하며 직원이 업무를 수행하는 부분에서 작동하지도 않는다. 포레스터는 설문조사 보고서에서 “많은 사용 사례에서 생성형 AI는 독립형 앱보다는 임베디드 기능일 때 더 큰 혜택을 제공한다는 의미”라고 설명했다. IBM 컨설팅의 글로벌 AI 및 분석 부문 리더 매니시 고얄 역시 “아무리 좋은 AI를 가져오더라도 정작 사람들이 워크플로우에서 AI를 사용할 수 없다면 채택되지 않는다"라고 말했다. 임베디드 생성형 AI와 관련하여 현재 가장 큰 화제는 마이크로소프트 365 생산성 제품군 전반에 통합 구축되고 있는 생성형 AI 비서인 마이크로소프트 365 코파일럿이다. 일부 생성형 AI 기능은 팀즈 및 기타 마이크로소프트 365 앱에 구현됐지만 코파일럿 자체는 아직 정식 출시되지 않았고 테스트를 위한 초기 액세스가 허용된 기업은 600개에 불과하다. 마이크로소프트 365 코파일럿의 정식 출시를 손꼽아 기다리고 있는 솔루션 통합업체 인사이트(Insight)의 최고 엔터프라이즈 설계자 겸 CTO 데이비드 맥커디는 “데모를 본 사람이라면 생성형 AI의 통합이 백오피스가 돌아가는 방식을 완전히 바꿔 놓게 될 것임을 알고 있다"라고 말했다. 한편 일부 기업은 오픈AI에 대한 API를 통하거나 라마 2(Llama 2) 같은 LLM을 로컬로 실행해서 자체 앱에 생성형 AI를 직접 추가하고 있다. 예를 들어 인사이트는 API를 통해 마이크로소프트 엑셀에 생성형 AI를 내장했다. 맥커디는 “다만 향후 오피스 365에 통합될 것이기 때문에 이 부분에 대한 개발을 너무 많이 하지는 않고 있다"라고 말했다. 자체 AI 임베드를 만드는 데 필요한 시간이나 인력을 갖추지 못한 기업도 지금 생산성 툴 내에서 생성형 AI 사용을 시작할 수 있다. 많은 업체가 이미 앱에 다양한 생성형 AI 기능을 추가했기 때문이다. 예를 들어 줌, 마이크로소프트 팀즈를 비롯한 여러 온라인 회의 플랫폼은 내장형 또는 애드온 방식으로 AI 기반 요약 기능을 제공한다. 맥커디는 “이 기능이 회의 요약 방식을 완전히 바꾸어 놓았다. 요약 기능이 매우 유용한다는 점은 확실히 말할 수 있다. 큰 이득이 없는 기능도 많지만 요약과 목록 작성만큼은 최고”라고 말했다. 일부 기업에서 워크플로우에 생성형 AI를 어떻게 사용하고 있는지, 어느 부분에서 효과적인지, 그리고 생성형 AI를 안전하게 도입하기 위한 전략은 무엇인지 알아보자. 스트림 파이낸셜 : 이메일, 텍스트 문서, 코드의 생성형 AI 미국 솔트레이크시티에 소재한 핀테크 기업 스트림 파이낸셜 테크놀로지(Stream Financial Technology)의 엔지니어링 책임자인 조완자 조셉은 “우리가 사용하는 스파크(Spark)라는 이메일 클라이언트에는 이메일 요약과 작성을 위한 생성형 AI가 내장돼 있다"라고 말했다. 조셉은 “나도, 경영진도 대부분 긍정적이다. 유일하게 부정적으로 보는 부분은 AI가 이해 부족을 가리는 허울이 될 수 있다는 점이다. 즉, 글을 읽다가 말이 안 되는 부분이 있어서 지적하면 AI가 써서 그렇다고 둘러댈 수 있다는 점”이라고 말했다. 스트림 파이낸셜이 사용하는 또 다른 생성형 AI 툴은 마이크로소프트 워드, 구글 문서도구를 비롯한 많은 애플리케이션 내에서 작동하는 그래멀리(Grammarly)다. 그래멀리는 처음에는 단순한 문법 검사기였지만 최근 AI 기반의 텍스트 생성, 문구 수정 및 요약 기능까지 더했다. 조셉은 “그래멀리 기업 구독을 이용하고 있다. 구글 문서 도구 내에서 작동하며, 단락을 쓰거나 요약하도록 지시할 수 있다. 내용을 채워 넣고 요약하는 용도로는 좋지만 기술적인 분야에 대한 심층적인 내용은 다루지 못한다"라고 말했다. 조셉이 지적한 그래멀리 AI의 문제점은 각각의 상호작용이 별개라는 점이다. 챗GPT, 클로드와 같이 대화를 계속 주고받으면서 결과물을 세밀하게 다듬을 수가 없다. 조셉은 “그래멀리 AI에 무엇을 해야 할지 지시할 좋은 방법이 없다"라고 말했다. 조셉은 회사 측이 기밀 데이터 또는 고객 정보에 대해서는 공용 AI를 사용하지 않도록 주의한다고 강조했다. 조셉은 “장기적 관점에서 생성형 AI를 사용해 마케팅 문구와 같은 콘텐츠를 생성하는 데 대해 낙관적이다. A/B 테스트를 위한 다른 문구를 작성하거나 동일한 문구를 다양한 형태로 반복 생성할 수 있다"라고 말했다. 조셉은 생성형 AI가 가장 크게 영향을 미치는 부분은 코드 생성이라면서 “깃허브 코파일럿에 1인당 월 19달러를 내고 있는데, 그 5배라 해도 기꺼이 낼 것이다. 막대한 시간을 절약할 수 있게 해주며 지식도 상당한 수준”이라고 말했다. 조셉은 “코드 생성은 생성형 AI의 가치가 입증된 부분이다. 그 외의 모든 부분은 아직 단언할 수 없고, 갈 길이 멀다"라고 말했다. NFP : 마케팅 문구, 회의 요약에 생성형 AI 사용 보험 중개업체 NFP는 2년 전부터 텍스트 작성에 AI를 사용해왔다. 이 회사의 영업 지원 부문 SVP인 카일 힐리에 따르면 NFP는 챗GPT가 대중에 공개되기 훨씬 전부터 재스퍼(Jasper) AI를 사용해서 마케팅 문구를 작성했다. 처음 오픈AI의 GPT 3.5 대규모 언어 모델을 기반으로 2021년 2월 출시된 재스퍼는 화이자, 스포츠 일러스트레이티드(Sports Illustrated), 허브스팟(HubSpot), 센티넬원(SentinelOne)을 포함한 10만 곳 이상의 기업 고객을 두고 있다. 현재 재스퍼 AI는 가장 진보된 버전의 챗GPT와 같은 기반 모델인 GPT 4를 사용한다. 여기에 특정 사용 사례에 따라 맞춤화된 마케팅 또는 비즈니스 콘텐츠를 생성하도록 설계된 부가적인 모델과 세부적인 조정 등 비즈니스 친화적인 기능을 추가했다. 또한 회사 자체 브랜드 성격을 학습시키고, 회사 워크플로우 내에서 확장 기능 및 API를 통해 사용할 수 있다. 힐리는 “보안에 대해 일부 우려가 있었다. 그리고 재스퍼는 폐쇄형 시스템이다. 마케팅 부서에서 일부 카피라이팅 작업에 여전히 재스퍼를 사용하고 있다"라고 말했다. 최근 NFP는 재스퍼에서 영업 활동 지원 플랫폼인 세일즈로프트(Salesloft)에 내장된 생성형 AI 툴로 대부분 전환했다. 세일즈로프트는 지난 봄에 빠른 이메일 작성을 위한 생성형 AI 기능을 추가했다. 힐리는 “CRM 시스템의 안내 및 코칭에도 생성형 AI를 사용하기 시작했다. AI 툴이 모든 부분에 연결되기 시작하면서 이제는 더 많은 프로그램에서 GPT를 사용하고 있다. 마이크로소프트 생태계 전반에 완전히 내장된 형태”라고 말했다. 힐리 본인도 생성형 AI를 적극적으로 사용한다. 힐리는 “2023년 비즈니스 계획 전체를 AI를 사용해 작성했다”면서 “AI의 효과에 대해 내부적인 설득 작업을 진행하던 중에 고위직의 누군가가 AI가 아직 그 수준에 이르지 못했다고 말했다. 그래서 오기로 비즈니스 계획을 AI로 만들어서 제출했는데, 반응이 아주 좋았다. 로봇이 작성한 것으로 믿기지 않는다는 반응이었다"라고 말했다. 힐리는 “사모펀드 분야에서 일하는 영업팀의 고위급 직원도 리드를 작성하고 계약을 체결하는 데 AI를 사용하기 시작했다. 올해 초부터 경영진, 영업부서를 비롯해 많은 직원이 AI를 사용하고 있다. 이들은 ‘AI를 채택해야만 한다’고 말한다"라고 전했다. NFP는 마이크로소프트 팀즈에서도 생성형 AI를 사용해서 회의 노트를 자동으로 생성한다. 힐리는 “모두가 이해해야 할 중요한 점은 AI가 우리 일을 대체하는 것이 아니라 증폭하고 보강한다는 것이다. 같은 수의 사람으로 더 많은 일을 할 수 있게 해준다"라고 말했다. 힐리는 다음 단계는 세일즈포스의 생성형 AI 기능을 사용해서 원시 데이터를 해설적 데이터로 바꾸는 것이라며 “지금 이 부분을 추진하고 있다. 이를 통해 경영진은 자연스럽게 느껴지는 방식으로 정보를 흡수할 수 있게 된다. 예를 들어 나처럼 숫자에 서툴고 항상 숫자에서 막힌다면 숫자가 아닌 다른 방식으로 정보를 흡수할 수 있게 될 것”이라고 말했다. 생성형 AI 툴을 사용할지 여부를 결정할 때 중요한 것은 학습 데이터의 정확성과 개인정보 보호, 보안, 그리고 사용성이다. 힐리는 “영업 및 마케팅 문구에서는 사유 부분을 다루지 않는다. 그러나 NFP는 인수합병을 많이 한다. 법무팀이 AI를 사용해서 계약서를 더 빠르게 만들거나 미묘한 차이 또는 세부 사항을 찾을 수 있을까? 개인정보 보호와 보안, 클로즈드 소스 모델을 살펴봐야 한다"라고 말했다. 힐리는 지금은 영업 담당자가 새로운 AI 툴을 익히도록 하는 작업을 진행 중이라면서 “간소함과 사용의 용이함이 중요하다. 자연스럽게 느껴지는지, 마음을 먹고 사용법을 배워야 하는지가 관건”이라고 말했다. 힐리는 예를 들어 챗GPT는 사용하기가 쉽지 않았다면서 “챗GPT에 말을 하기 위해서는 거의 정해진 코스에 따라야 한다. 어떤 면에서는 프로그래밍과 상당히 비슷하다. 하지만 NFP는 기술 기업이 아니고 보험을 판매하는 회사”라고 말했다. 직원이 이미 사용하는 툴에 내장된 형태의 생성형 AI는 이러한 사용성 장벽을 극복하는 데 도움이 될 수 있다. 힐리는 “예를 들어 세일즈로프트는 반복적이고 유기적이다. 생성형 AI는 이 툴의 자연스러운 확장이다. 새로운 것을 배울 필요가 없다는 것이 NFP에는 중요한 점이다. 35년째 일하는 보험 담당자도 바로 사용할 수 있고, 25세 직원이라면 시스템 전체를 지극히 자연스럽게 받아들인다"라고 말했다. 톰슨 로이터 : 서신 초안 작성, 직원 질문에 대한 응답에 생성형 AI 사용 뉴스 기업 톰슨 로이터(Thomson Reuters)의 최고 인사 책임자인 매리 앨리스 부이식은 수십년 전부터 제품과 사무실에서 AI를 사용해왔다면서 “이미 존재하는 많은 부분에 AI가 내장돼 있다. 핵심은 증강, 즉 사람들이 더 가치 있는 일을 할 수 있도록 해주는 데 있다"라고 말했다. 부이식은 AI는 사람이 아니라 “작업을 대체한다"라고 말했다. 생성형 AI가 보편화된 지금 톰슨 로이터는 선제적으로 공급업체에 관심을 갖고 이들의 AI 로드맵을 살펴봤다. 부이식은 이미 많은 부분이 발표됐다고 말했다. 예를 들어 세일즈포스와 워크데이(Workday) 모두 생성형 AI 전략을 마련했다. 부이식은 “마이크로소프트 코파일럿과 그 외에도 수많은 툴이 있다"라고 말했다. 부이식은 톰슨 로이터에서 이미 많은 생성형 AI 툴이 사용되고 있다고 말했다. 예를 들어 커뮤니케이션 팀은 AI를 사용해서 문서의 초안을 작성한다. “실제로 작업의 첫 번째 초안 작성에서 전반적으로 AI 툴을 사용할 여지가 있다. 다만 정확성은 AI에 의지할 수 없고 교육에서도 이 부분을 다뤘다. 처음 초안이 작성된 다음에는 사람이 편집한다. 즉, 사람의 전문성을 적용해서 더 높은 품질의 제품을 제공한다"라고 말했다. HR 분야에서는 생성형 AI를 사용해 직원 질문에 답하기와 관련한 실험이 진행 중이다. 부이식은 “초기 결과는 매우 만족스럽다. 지금까지 정확도는 95%이며 과거 이러한 질문에 답하느라 빼앗겼던 시간을 돌려줘서 부가가치를 창출하는 일에 투자할 수 있게 해준다"라고 말했다. 생성형 AI 도입을 위한 세 갈래 접근 부이식은 톰슨 로이터는 가능성에서 앞서 나가기 위해 AI 도입을 가속화하기 위한 전사적 이니셔티브를 출범했다고 말했다. 첫 번째 단계는 AI 표준과 윤리의 정립으로, 몇 년 전부터 해오고 있다. 부이식은 “톰슨 로이터는 30년 이상 AI를 사용하고 있다. 생성형 AI 이전에도 이 분야의 리더가 되기 위해 노력했다"라고 말했다. 부이식은 “다음 단계는 인력 교육이다. 이는 반드시 필요한 단계”라고 말했다. 톰슨 로이터는 지난 4월 전세계 모든 직원이 참여할 수 있는 AI 교육의 날을 열었다. 총 2만 7,000명의 직원 중 약 7,000명이 라이브로 이 이벤트에 참석했다. 부이식은 “그 외에도 수천 명이 비동기적으로 이 교육 자료를 활용하고 있다"라고 덧붙였다. 부이식에 따르면 참가자의 대다수는 이미 자신의 업무에 생성형 AI를 적용할 수 있다고 말했다. 부이식은 “이는 로이터 직원 대부분이 앞으로 일하면서 겪게 될 가장 중요한 혁신이다. 우리는 이 부분에서 선두에 서야 한다. 회사 측은 교육과 개발, 업스킬 및 리스킬에 대한 책임이 있다. 그러나 모든 개인도 배우고 발전해야 할 책임이 있다"라고 말했다. 톰슨 로이터 AI 전략의 세 번째 축은 모든 툴을 실험할 수 있는 안전한 장소를 제공하는 것이다. 부이식에 따르면 톰슨 로이터는 생산성 소프트웨어에 내장된 생성형 AI 외에도 오픈AI, 앤트로픽, 구글, 그리고 라마 2와 같은 오픈소스 모델을 포함한 다양한 대규모 언어 모델을 실험하고 있다. 부이식은 “변화의 속도가 매우 빠르다. 톰슨 로이터는 고객 사용 사례를 위해 최선의 기술을 활용하고자 한다"라고 말했다. 마지막으로, 이 회사는 학습과 실험의 문화를 강화하고 있다. 부이식은 “가장 빠르게 배우고 실험하는 팀이 승리하게 될 것”이라고 말했다. 위험을 고려해서 현명하게 선택하기 몇몇 엔터프라이즈 기술 업체는 생성형 AI 기능뿐만 아니라 모델을 학습시키는 방법 또는 사용할 구체적인 모델에 관한 유연함도 고객에 제공한다. IBM 컨설팅의 고얄은 “IBM은 세일즈포스를 사용한다. IBM의 세일즈포스 관리자는 나와 같은 최종 사용자가 그냥 볼 수 있도록 적절한 모델을 선택하고 구성할 수 있다. 세일즈포스는 임베디드 AI를 선택할 수 있는 옵션도 제공한다"라고 말했다. 고얄은 IBM 컨설턴트가 현재 기업과 협력해서 마이크로소프트 365를 비롯한 과련 기술로 무엇이 가능한지, 그리고 법률 및 보안 측면에서 생성형 AI가 어떤 영향을 미치는지에 대해 생각하도록 돕고 있다고 말했다. 고얄은 “IBM의 왓슨x(Watsonx)에 대한 입장은 확고하다. 고객의 데이터는 고객의 소유라는 것이다. IBM은 모델 학습에 고객 데이터를 절대 사용하지 않는다. 애저, AWS, 구글과 협력하고 있으며 이들 각 기업은 생성형 AI의 이 부분에 있어 예전부터 명확한 입장을 유지하고 있다. IBM의 파트너 및 고객 역시 마찬가지다. 고객이 업로드하거나 서비스에 사용하는 어떠한 데이터도 모델 학습에 사용되지 않는다. 그렇지 않으면 어떤 기업도 AI를 사용하지 않을 것”이라고 말했다. 이 원칙을 위반한 엔터프라이즈 업체의 예로 줌이 있다. 줌은 처음에 회의 녹취록을 AI 학습에 사용할 것이라고 말했다가 격렬한 반발에 직면해 황급히 철회한 바 있다. 그러나 초기 학습 데이터의 출처에 대해서는 업체의 투명성이 부족하다. 고얄도 그 점을 인정하면서 “왓슨x는 학습 데이터에 대한 완전한 데이터 계보를 제공한다. 그러나 모든 업체가 그렇지는 않다. 명확하게 밝히지 않는 경우가 많다"라고 말했다. 또한 몇몇 AI 업체는 저작권이 있는 상품을 허가 없이 AI 학습에 사용했다는 이유로 아티스트 및 작가로부터 피소된 상황이다. 고얄은 “AI에는 항상 위험이 있었다"라고 말했다. 대규모 언어 모델에는 과거의 오래된 위험이 더 증폭된 경우도 있고 새로운 위험도 있다. 고얄은 “기업은 생성형 AI를 사용할 때 가드레일을 설치해야 한다"라고 말했다. 그러나 기업에 결국 중요한 것은 이러한 새로운 기능을 어떻게 사용할 수 있을지를 살펴보는 것이다. 고얄은 “그 방법을 가장 빠르게 파악하는 기업이 승자가 되고 꿈처럼 보이는 일을 현실화할 수 있을 것”이라고 말했다. editor@itworld.co.kr
파이썬은 강력하고 유연하며 다루기 쉬운 언어로 유명하다. 이런 장점 때문에 방대하고 다양한 애플리케이션과 워크플로우, 분야에 사용된다. 그러나 인터프리티드 언어인 데다 런타임의 동적 특성 때문에 파이썬은 C, C++와 같은 머신 네이티브 언어에 비해 속도가 훨씬 더 느리다는 고질적인 단점이 있다. 개발자들은 오랜 시간 동안 파이썬의 속도 제한을 극복하기 위한 다양한 방법을 고민해왔다. 예를 들어 성능 집약적인 작업을 C로 작성하고 이 C 코드를 파이썬으로 래핑하는 방법 같은 것이다. 많은 머신러닝 라이브러리가 실제로 이 방식으로 동작한다. 또는 파이썬 코드에 런타임 형식 정보를 섞어 C로 컴파일할 수 있게 해주는 프로젝트인 사이썬(Cython)을 사용하는 방법도 있다. 그러나 차선책은 이상적인 방법일 수는 없다. 그냥 파이썬 프로그램을 그대로 가져와 훨씬 더 빠르게 실행할 수 있다면 좋지 않을까? 그 대답이 바로 파이파이(PyPy)다. 파이파이 vs. C파이썬 파이파이는 기본 파이썬 인터프리터인 C파이썬(CPython)을 대체한다. C파이썬은 파이썬을 중간 바이트코드로 컴파일하고 이 바이트코드가 가상머신에 의해 인터프리트되는 방식인 데 반해, 파이파이는 JIT(JustInTime) 컴파일을 사용해 파이썬 코드를 머신 네이티브 어셈블리어로 변환한다. 수행하는 작업에 따라 상당한 정도의 성능 향상이 가능하다. 평균적으로 파이파이는 파이썬 3.7에 비해 파이썬 속도를 약 4.7배 더 높여주며 일부 작업에서는 50배 이상의 속도 향상이 가능하다. 새로운 버전의 C파이썬 인터프리터에도 특정 종류의 JIT 최적화가 추가되고 있지만 현재 파이파이의 범위와 효과에 비할 바는 아니다. 앞으로 대등해질 가능성을 배제할 수 없지만 적어도 지금은 아니다. 가장 좋은 점은 파이파이가 제공하는 효과를 얻기 위해 개발자가 따로 해야 할 일이 거의 없다는 것이다. C파이썬을 파이파이로 바꾸기만 하면 된다. (다음에서 설명할) 몇 가지 예외는 있지만 파이파이의 공식적인 목표는 기존의 파이썬 코드를 수정 없이 실행하면서 자동으로 속도를 높여주는 것이다. 현재 파이파이는 파이썬 2와 파이썬 3을 각기 다른 프로젝트 구현으로 모두 지원한다. 즉, 실행할 파이썬의 버전에 따라 다른 버전의 파이파이를 다운로드해야 한다. 파이파이의 파이썬 2 브랜치가 나온 시점이 훨씬 더 오래됐지만 파이썬 3 버전도 최근 거의 따라잡았다. 현재 파이썬 버전 3.9까지 지원하며 파이썬 3.10은 실험 수준에서 지원된다. 파이파이는 모든 핵심 파이썬 언어를 지원하는 것 외에, 패키징을 위한 pip, 가상 환경을 위한 virtualenv 등 파이썬 생태계의 방대한 툴과도 호환된다. C 모듈을 사용하는 패키지를 포함해 대부분의 파이썬 패키지는 변경 없이 그대로 동작한다. 물론 일부 제한도 있다. 이는 아래에서 살펴본다. 파이파이의 작동 방식 파이파이는 동적 언어를 위한 다른 JIT 컴파일러에도 있는 최적화 기법을 사용한다. 실행 중인 파이썬 프로그램을 분석하면서 생성 및 사용되는 객체의 형식 정보를 판단한 후 이 형식 정보를 가이드 삼아 속도를 높인다. 예를 들어 파이썬 함수가 한두 개의 객체 형식에서만 작동한다면 파이파이는 이러한 특정 사례를 처리하는 기계 코드를 생성한다. 파이파이의 최적화는 런타임에서 자동으로 처리되므로 일반적으로는 개발자가 직접 성능을 조정할 필요가 없다. 고급 사용자라면 파이파이의 명령줄 옵션을 변경하면서 특수한 사례를 위한 더 빠른 코드를 생성할 수 있지만 그럴 필요까지는 거의 없다. 또한 파이파이는 몇몇 내부 함수를 처리하는 방식도 C파이썬과 다르지만 동작의 호환성을 유지하려고 노력한다. 예를 들어 파이파이의 가비지 수집 방식은 C파이썬과 달라서 범위에서 벗어나는 모든 객체가 즉각 수집되지는 않으므로 파이파이로 실행되는 파이썬 프로그램은 C파이썬으로 실행되는 경우에 비해 메모리 사용량이 더 높게 표시될 수 있다. 그러나 gc 모듈을 통해 노출되는 gc.enable(), gc.disable(), gc.collect()와 같은 파이썬의 고수준 가비지 수집 컨트롤을 여전히 사용할 수 있다. 파이파이의 JIT 동작에 대한 정보가 필요하다면 파이파이에 포함된, 파이썬 애플리케이션에 대한 많은 JIT 후크를 노출하는 pypyjit라는 모듈을 활용하면 된다. JIT에서 성능이 떨어지는 함수 또는 모듈이 있는 경우 pypyjit를 사용해 세부적인 통계를 확인할 수 있다. 또 다른 파이파이 전용 모듈인 __pypy__는 파이파이만의 다른 기능을 노출하며 해당 기능을 활용하는 애플리케이션을 작성하는 데 유용하다. 파이썬의 런타임 동적 특성 덕분에 파이파이가 있을 때 이러한 기능을 사용하고, 없을 때는 무시하는 파이썬 애플리케이션을 만드는 것이 가능하다. 파이파이의 제약 파이파이는 매우 강력하지만 제약도 있다. 파이파이는 기본 C파이썬 런타임에 대한 완전한 범용 대체재는 아니다. 몇 가지 제약으로 인해 특정 종류의 프로그램에서는 파이파이의 효과가 줄어들거나 아예 사라진다. 가장 중요한 제한 사항은 다음과 같다. 파이파이는 순수 파이썬 앱에서 가장 효과적 : 파이파이는 전통적으로 “순수” 파이썬 애플리케이션, 즉 다른 언어 없이 파이썬만으로 작성된 애플리케이션에서 최고의 효과를 발휘했다. 넘파이(NumPy)와 같이 C 라이브러리와 접촉하는 파이썬 패키지는 파이파이가 C파이썬의 네이티브 바이너리 인터페이스를 에뮬레이션하는 방식상 좋은 결과를 얻지 못했다. 파이파이 개발자들은 그동안 이 문제를 줄여 나가면서 C 확장에 의존하는 대다수 파이썬 패키지와의 호환성을 더 높였다. 예를 들어 넘파이는 지금은 파이파이에서 매우 잘 작동한다. 그러나 최대한의 C 확장 호환성을 원한다면 C파이썬을 사용해야 한다. 파이파이는 장기간 실행되는 프로그램에서 가장 효과적 : 파이파이가 파이썬 프로그램을 최적화하는 방법의 특성상 장시간 실행되는 프로그램이 최적화 효과를 가장 많이 얻는다. 프로그램 실행 시간이 길수록 파이파이는 런타임 형식 정보를 더 많이 얻을 수 있고 최적화도 더 많이 할 수 있기 때문이다. 단발성 파이썬 스크립트는 이러한 혜택을 얻지 못한다. 이 효과를 얻는 애플리케이션은 일반적으로 오랜 시간 실행되는 루프가 있거나 백그라운드에서 지속적으로 실행되는 웹 프레임워크 같은 애플리케이션이다. 파이파이는 AOT 컴파일을 하지 못함 : 파이파이는 파이썬 코드를 컴파일하지만 파이썬 코드용 컴파일러는 아니다. 파이파이의 최적화 수행 방법과 파이썬의 태생적인 동적 특성으로 인해 JIT 코드를 독립형 바이너리로 배출해서 재사용할 방법이 없다. 즉, 이 문서에 설명돼 있듯이 각 프로그램이 실행될 때마다 매번 컴파일해야 한다. 파이썬을 독립형 애플리케이션으로 실행할 수 있는 더 빠른 코드로 컴파일하고 싶다면 사이썬, 넘바(Numba), 또는 현재 실험 단계인 누이트카(Nuitka) 프로젝트를 사용해야 한다. editor@itworld.co.kr
머신러닝(Machine learning)과 딥러닝(deep learning)은 널리 알려진 익숙한 용어지만, 이런 유명세 만큼이나 더 폭넓은 오해를 받는 부분도 있다. 여기서는 한 걸음 물러서서 머신러닝과 딥러닝의 기본을 살펴보고, 가장 보편적인 몇 가지 머신러닝 알고리즘을 알아본다. 이런 알고리즘이 역사적 데이터로부터 예측 모델을 만들기 위한 퍼즐의 다른 조각과 어떻게 관련되는지도 설명한다. 머신러닝 알고리즘이란 머신러닝은 데이터로부터 자동으로 모델을 생성하는 방법이고, 머신러닝 알고리즘은 머신러닝을 움직이는 엔진이다. 즉, 데이터 집합을 모델로 바꿔주는 알고리즘이다. 지도, 비지도, 분류, 회귀 등 어떤 알고리즘이 가장 효과적인지는 해결하려는 문제의 종류, 가용한 컴퓨팅 리소스, 데이터의 속성에 따라 달라진다. 머신러닝의 작동 원리 일반적인 프로그래밍 알고리즘은 컴퓨터에 해야 할 일을 간단한 방식으로 알려준다. 예를 들어 정렬 알고리즘은 정렬되지 않은 데이터를 데이터에 있는 하나 이상 필드의 숫자 또는 알파벳 순서 등 특정 기준에 따라 정렬된 데이터로 변환한다. 선형 회귀 알고리즘은 직선, 또는 다항식과 같이 매개변수가 선형인 다른 함수를 수치 데이터에 맞추는데, 이를 위해 일반적으로 사용하는 방법은 선과 데이터 간의 제곱 오차를 최소화하기 위해 행렬 역변환을 수행하는 것이다. 제곱 오차를 척도로 사용하는 이유는 회귀선이 데이터 포인트 위에 있는지, 아래에 있는지는 중요하지 않기 때문이다. 중요한 것은 선과 포인트 간의 거리다. 매개변수가 선형이 아닌 곡선을 데이터에 맞추는 비선형 회귀 알고리즘은 조금 더 복잡하다. 선형 회귀 문제와 달리 결정론적 방법으로 해결할 수 없기 때문이다. 대신 비선형 회귀 알고리즘은 일종의 반복적 최소화 프로세스를 구현하는데, 이는 급속 하강(steepest descent) 방법의 변형인 경우가 많다. 급속 하강은 기본적으로 현재 매개변수 값에서 제곱 오차와 그 기울기를 계산하고, 단계 크기 즉, 학습률을 선택하고, 기울기 방향을 "아래로" 따라간 다음, 새로운 매개변수 값에서 제곱 오차와 그 기울기를 다시 계산한다. 운이 좋다면 최종적으로 이 과정은 수렴한다. 급속 하강에는 수렴 속성을 개선하고자 하는 여러 변형이 있다. 머신러닝 알고리즘은 비선형 회귀보다도 더 복잡한데, 머신러닝은 다항식과 같은 특정 수학 함수에 맞추는 제약이 없다는 점도 그 이유 중 하나다. 머신러닝이 해결하는 대표적인 두 가지 문제 범주는 회귀와 분류다. 회귀는 수치 데이터, 분류는 비수치 데이터에 사용된다. 전자는 특정 주소와 직업을 가진 사람의 예상 수입은 어느 정도인가와 같은 문제, 후자는 대출 신청자가 이 대출을 상환하지 않을 것인가와 같은 문제다. 예측 문제(“내일 마이크로소프트 주식의 시초가는 얼마가 될까?”)는 시계열 데이터에 대한 회귀 문제의 하위 집합이다. 분류 문제는 이진(예/아니요), 다중 범주 문제(동물, 채소 또는 광물)로 나뉘기도 한다. 지도 학습 vs. 비지도 학습 이러한 구분과 별개로 머신러닝 알고리즘에는 지도와 비지도, 2가지 종류가 있다. 지도 학습에서는 동물 이름이 딸린 일련의 동물 사진과 같은, 답변이 포함된 학습 데이터 집합을 제공한다. 이 학습의 목표는 이전에 본 적이 없는 사진을 올바르게 식별(학습 집합에 포함된 동물의 종류)할 수 있는 모델을 만드는 것이다. 비지도 학습에서는 알고리즘이 스스로 데이터를 살펴보고 유의미한 결과를 도출하려고 시도한다. 예를 들어 각 클러스터 내에서 연관될 수 있는 데이터 포인트의 클러스터 집합이 결과로 나올 수 있다. 클러스터가 겹치지 않을 때 더 효과적으로 작동한다. 학습과 평가를 통해 매개변수를 최적화해 데이터의 기준 진실과 가장 잘 일치하는 값 집합을 찾음으로써 지도 학습 알고리즘을 모델로 바꾼다. 알고리즘은 옵타마이저를 위해 예를 들어 확률적 경사 하강(SGD: 무작위 시작점에서 여러 번 수행되는 급속 하강이라고 할 수 있음)과 같은 급속 하강의 변형에 의존하는 경우가 많다. SGD의 일반적인 개선 방법은 운동량을 기반으로 경사의 방향을 수정하거나, 한 데이터 패스(에포크라고 함)에서 다음 패스로의 진행에 따라 학습률을 조정하는 요소를 추가하는 것이다. 머신러닝을 위한 데이터 정제 자연 상태에서 깨끗한 데이터는 존재하지 않는다. 머신러닝에 사용하려면 데이터를 적극적으로 필터링해야 한다. 예를 들면 다음과 같다. 데이터를 살펴보고 누락된 데이터가 많은 열을 제외한다. 데이터를 다시 살펴보면서 예측에 사용할 열을 선택한다. 이 열은 반복할 때 바꾸는 경우가 많다. 나머지 열에서 여전히 누락된 데이터가 있는 행을 제외한다. 명백한 오타를 교정하고 동일한 답변을 병합한다. 예를 들어 U.S. US. USA, 미국은 하나의 범주로 병합해야 한다. 범위를 벗어난 데이터가 있는 행을 제외한다. 예를 들어 뉴욕시 내의 택시 이동을 분석한다면 뉴욕시 경계 상자를 벗어난 승하차 위도 및 경도는 필터링으로 걸러낸다. 그 외에도 할 수 있는 일이 많지만 이는 수집된 데이터에 따라 달라진다. 지루한 작업일 수 있으나 머신러닝 파이프라인에 데이터 정제 단계를 두면 자유롭게 수정하고 반복할 수 있다. 머신러닝을 위한 데이터 인코딩 및 정규화 머신 분류를 위해 범주 데이터를 사용하려면 텍스트 레이블을 다른 양식으로 인코딩해야 한다. 일반적으로 2가지 인코딩이 사용된다. 첫째는 레이블 인코딩으로, 각 텍스트 레이블이 숫자로 대체된다. 둘째는 원핫(onehot) 인코딩으로, 각 텍스트 레이블 값이 이진 값(1 또는 0)이 있는 열로 변환된다. 대부분의 머신러닝 프레임워크에는 이 같은 변환을 수행하는 함수가 있다. 레이블 인코딩의 경우 머신러닝 알고리즘이 혼동해서 인코딩된 열이 정렬된 것으로 착각할 수 있으므로 일반적으로 원핫 인코딩이 선호된다. 머신 회귀에 숫자 데이터를 사용하려면 일반적으로 데이터를 정규화해야 한다. 그렇지 않으면 범위가 큰 숫자가 특징 벡터 간의 유클리드 거리를 지배하는 경향이 있고, 이들의 효과가 확대되면서 다른 필드가 희생되고 급속 하강 최적화가 잘 수렴되지 않을 수 있다. ML을 위해 데이터를 정규화 및 표준화하는 방법은 최소최대 정규화, 평균 정규화, 표준화, 단위 길이로 스케일링 등 여러 가지가 있다. 이 프로세스를 보통 특징 스케일링(feature scaling)이라고 한다. 머신러닝 특징 앞에서 언급한 특징(feature) 벡터가 무엇인지 알아보자. 우선, 특징이란 관찰 대상 현상의 측정 가능한 개별적인 속성 또는 특성이다. “특징”이라는 개념은 선형 회귀와 같은 통계 기법에서 사용되는 설명 변수와 관계가 있다. 특징 벡터는 한 행의 모든 특징을 하나의 숫자 벡터로 결합한다. 특징을 선택하는 기법 중 하나는 문제를 설명하는 최소 독립 변수 집합을 선택하는 것이다. 두 변수가 고도로 상호 연관된다면 하나의 특징으로 결합해야 하거나 하나를 삭제해야 한다. 주성분 분석을 수행하여 상호 연관된 여러 변수를 선형적으로 상호 연관되지 않은 변수들의 집합으로 변환하는 경우도 종종 있다. 새로운 특징을 구축하거나 특징 벡터의 차원을 축소하기 위해 사용하는 변환 방법 중에서 간단한 방법도 몇 가지 있다. 예를 들어 Year of Death에서 Year of Birth를 빼면 수명 및 사망 분석을 위한 주요 독립 변수인 Age at Death를 구축할 수 있다. 특징 구축이 명확하지 않은 경우도 있다. 일반적인 머신러닝 알고리즘 머신러닝 알고리즘은 선형 회귀와 로지스틱 회귀부터 심층 신경망 및 앙상블(다른 모델의 조합)에 이르기까지 수십 가지가 있지만 가장 일반적인 알고리즘은 다음과 같다. 선형 회귀 또는 최소 제곱 회귀(숫자 데이터) 로지스틱 회귀(이진 분류) 선형 판별 분석(다중 범주 분류) 결정 트리(분류와 회귀) 나이브 베이즈(분류와 회귀) K최근접 이웃(KNN, 분류와 회귀) 학습 벡터 양자화(LVQ, 분류와 회귀) 서포트 벡터 머신(SVM, 이진 분류) 랜덤 포레스트, “배깅” 앙상블 알고리즘의 한 유형(분류와 회귀) 부스팅 방법(AdaBoost 및 XGBoost 포함)은 일련의 모델을 생성하는 앙상블 알고리즘으로, 각각의 새로운 모델이 이전 모델의 오류를 수정하려고 시도 흔히 듣는 신경망과 심층 신경망은 어디에 있을까? 이 둘은 대체로 계산 집약적이라서 GPU 또는 다른 특수한 하드웨어가 필요하므로 비교적 단순한 알고리즘에는 맞지 않는 이미지 분류, 음성 인식과 같은 특수한 문제에만 사용해야 한다. 위에서 “심층”은 신경망 안에 숨은 계층이 많다는 것을 의미한다. 신경망과 심층 신경망에 대한 더 자세한 내용은 “딥러닝의 진정한 의미”를 참고하면 된다. 머신러닝 알고리즘의 초매개변수 머신러닝 알고리즘은 데이터로 학습해서 예측된 값 또는 클래스에 영향을 미치는 각 독립 변수에 대한 최적의 가중치 집합을 찾는다. 알고리즘 자체에는 초매개변수(hyperparameters)라는 변수가 있다. 결정되는 가중치가 아니라 알고리즘의 작동을 제어하기 때문에 매개변수가 아닌 초매개변수로 불린다. 많은 경우 가장 중요한 초매개변수는 학습률이다. 학습률은 최적화에서 다음에 시도할 가중치 집합을 찾을 때 사용되는 단계 크기를 결정한다. 학습률이 너무 높으면 경사 하강이 평지(plateau) 또는 비최적 지점에 빠르게 수렴할 수 있고, 학습률이 너무 낮으면 경사 하강이 정체되어 완전히 수렴하지 않을 수 있다. 다른 많은 일반적인 초매개변수는 사용되는 알고리즘에 따라 달라진다. 대부분 알고리즘에는 최대 에포크 수, 또는 최대 실행 시간, 에포크 간 최소 개선과 같은 중지 매개변수가 있다. 특정 알고리즘에는 검색의 형태를 제어하는 초매개변수가 있다. 예를 들어 랜덤 포레스트에는 리프당 최소 샘플 수, 최대 깊이, 분할 시 최소 샘플 수, 리프의 최소 가중치 비율, 그 외에 8가지에 대한 초매개변수가 있다. 초매개변수 튜닝 여러 프로덕션 머신러닝 플랫폼이 현재 자동 초매개변수 튜닝을 제공한다. 기본적으로 시스템에 변경할 초매개변수와 최적화하고자 하는 메트릭을 알려주면 시스템은 허용되는 만큼 많은 실행 횟수에 걸쳐 이러한 초매개변수를 스윕한다. 단, 구글 클라우드 초매개변수 튜닝은 텐서플로우 모델에서 적절한 메트릭을 추출하므로 직접 지정할 필요가 없다. 초매개변수 스위핑을 위한 검색 알고리즘에는 베이지안(Bayesian) 최적화, 그리드(grid) 검색, 무작위 검색의 3가지가 있다. 베이지안 최적화가 대체로 가장 효율적이다. 최대한 많은 초매개변수를 튜닝해야 최선의 답을 얻는다고 생각할 수 있다. 그러나 개인 하드웨어에서 실행하는 경우가 아닌 한 비용이 상당히 커질 수 있고, 어떤 경우든 얻는 이득은 점점 줄어든다. 자신의 데이터와 선택한 알고리즘에서 가장 중요한 초매개변수는 경험을 통해 발견할 수 있다. 자동 머신러닝 알고리즘 선택에 대해 말하자면, 어느 알고리즘 또는 알고리즘 앙상블이 현재 데이터에 맞는 최선의 모델을 제공할지 아는 방법은 하나밖에 없다. 모두 시도해 보는 것이다. 여기서 가능한 모든 정규화 및 특징 선택까지 시도한다면 조합의 수는 폭발적으로 증가한다. 모든 것을 수동으로 시도한다는 것은 비현실적이므로, 당연히 머신러닝 툴 제공업체들은 많은 노력을 기울여 오토ML(AutoML) 시스템을 출시했다. 우수한 시스템은 특징 공학과 알고리즘 및 정규화에 대한 스윕을 결합한다. 최선의 모델에 대한 초매개변수 튜닝은 나중을 위해 남겨두는 경우가 많다. 다만 특징 공학은 자동화하기 어려운 문제이며 이 부분을 다루지 않는 오토ML 시스템도 있다. 요약하자면, 머신러닝 알고리즘은 머신러닝 퍼즐의 한 조각일 뿐이다. 알고리즘 선택(수동 또는 자동) 외에도 옵티마이저, 데이터 정제, 특징 선택, 특징 정규화, 그리고 선택적으로 초매개변수 튜닝까지 처리해야 한다. 이 모든 부분을 처리하고 데이터에 맞는 모델을 구축했다면, 이제 모델을 배포하고 조건의 변화에 따라 업데이트할 차례다. 프로덕션의 머신러닝 모델을 관리하는 것은 또 다른 문제다. editor@itworld.co.kr
최신 윈도우 11 기능을 따라가다 보면 쉽게 혼란스러워진다. 마이크로소프트 빌드(Microsoft Build) 행사와 함께 새로운 기능이 끊임없이 쏟아지는 5월에는 더욱 그렇다. 올해도 마찬가지였다. 마이크로소프트는 실용적인 것부터 이상적인 것까지 빌드 행사에서 다양한 윈도우 11 기능을 쏟아냈다. 올해 빌드 행사에서는 윈도우 11의 모멘트 3(Moment 3)과 함께 흥미로운 새 기능이 공개됐고 향후 출시될 더 많은 기능에 대한 힌트도 얻을 수 있었다. 다만 소규모 기능 업데이트인 모멘트는 언제든 배포될 수 있기 때문에 출시 시기는 달라질 수 있다. 현재 모멘트 3에 도입될 것으로 알려진, 그리고 사용자 PC에 배포될 여러 새 기능을 간단히 설명한다. 윈도우 11 모멘트 3의 기능들 이제부터 소개할 모멘트 3 기능은 기본 기능이 아니라 옵션이며, 새로운 기능을 출시 즉시 받겠다고 미리 설정하지 않은 이상 6월 이후에야 배포된다. 2023년 6월, 아마도 패치 화요일 주기를 고려하면 6월 13일쯤 윈도우 11 비보안 프리뷰 릴리즈에 추가 선택 형식으로 배포될 예정이다. 새로운 기능을 한발 먼저 사용하는 것을 좋아하고 최신 업데이트가 출시되는 즉시 받고 싶은 사용자라면 윈도우 11 설정 앱의 ‘윈도우 업데이트 항목’으로 이동한다. 여기서 ‘최신 업데이트가 제공되는 즉시 받기’ 메뉴의 토글을 켠다. 마이크로소프트는 사용자의 삶의 질을 조금씩 개선하는 기능을 단계적으로 릴리즈한다. 모멘트 3 역시 마찬가지다. 마이크로소프트는 이달 초 이들 기능을 윈도우 참가자 프로그램 22621.1776(릴리즈 채널) 베타 일부분으로 테스트했고 이제 최종 릴리즈로 배포했다. 더 넓은 위젯 창 : 윈도우 11에 추가된 흥미로운 변화는 사용자가 앱을 더 많이 설정할 수 있도록 많은 공간을 확보하는 위젯의 변화다. 위젯은 2개가 아닌 3개 열로 더 넓어지고 개인화할 수 있다. 마이크로소프트가 공개한 새로운 위젯 선택기를 보면 사용자는 자신이 선택한 위젯이 어떤 모습으로 나타날지 미리 볼 수 있으며, 더 많은 위젯을 찾을 수 있다(위젯 선택기는 조금 늦게 배포될 수 있다). 센서 설정 : 일부 노트북은 사용자가 자리를 비우거나 보안을 위해 PC를 잠가 둘 경우 화면을 자동으로 어둡게 조정하는 존재 감지 센서가 있다. 설정 개인정보 보호 및 보안 감지 센서에서 관리할 수 있다. VPN 아이콘 : 이제 VPN을 사용할 때 작업표시줄에 작은 방패 아이콘이 나타난다. USB4 허브 및 설정 : 인텔 기반 노트북은 보통 썬더볼트 독과 연결된다. 그러나 USB4는 AMD 라이젠 노트북에서 거의 동일한 기능을 수행한다. 어떤 것이든 새로운 윈도우 설정 페이지에서는 노트북의 USB4 기능과 연결된 주변장치의 정보를 알 수 있다. 블루투스 지원 확대 : 윈도우 11은 이제 갤럭시 버드2나 버드2 프로 같은 이어폰에서 지원하는 저전력 오디오 표준인 블루투스 저전력 오디오(Bluetooth Low Energy Audio)를 지원한다. 계정 아이콘 배지 : 시작 메뉴의 계정 아이콘에 작은 느낌표가 나타나면 마이크로소프트 계정 관리에 주의가 필요하다는 뜻이다. 다른 윈도우 기능에 대한 유용한 알림(즉, 광고)과 연결되어 있다. 라이브 자막 언어 확대 : 자막이 없는 콘텐츠에 자막을 자동으로 제공한다. 라이브 자막은 중국어, 다양한 영어 방언, 프랑스어, 독일어, 스페인어 등을 지원한다. 마이크로소프트가 이전 프리뷰에서 공개한 내용을 기반으로 할 때 모먼트 3 릴리즈에서는 다음과 같은 작은 변경도 있을 것으로 보인다. 새로운 프린트 화면 바로가기 : PrtScn 키를 누르면 이제 캡처 도구가 열린다. 원드라이브 저장공간 표시 : 윈도우 11 설정 앱 안의 계정 페이지에서 사용자의 모든 원드라이브 구독 내용에 할당된 저장 공간의 전체 양을 확인할 수 있다. 2FA 복사 : '휴대폰과 연결' 앱으로 PC에 스마트폰을 연결하면 다른 서비스에서 받은 2FA 인증 코드가 자동으로 복사된다. 터치 키보드 옵션 : 새로운 설정 시간 및 언어 입력 터치 키보드 설정에서 터치 키보드를 항상 보이게 할지, 아예 없앨지, 하드웨어 키보드를 연결하지 않았을 때만 보이게 할지 선택할 수 있다. 키보드를 떼었다 붙일 수 있는 서피스 프로 같은 노트북에서 특히 유용하다. 초 시계 : 이제 작업 표시줄 시계 앱에서 초 단위의 시간을 알 수 있다. 검색용 빙 챗 AI 바로가기 : 이제 검색창에 작은 빙 챗 아이콘이 나타난다. 기업 계정으로 로그인할 때는 기업 아이콘으로 바뀐다. 콘텐츠 적응형 밝기 제어 : 콘텐츠 종류에 따라 디스플레이를 밝거나 어둡게 할 수 있다. HDR은 아니지만 유사한 기능이다. 모먼트 3 이외의 새로운 윈도우 11 기능들 마이크로소프트는 빌드 행사에서 모먼트 3 이외의 신규 기능도 공개했지만 출시 시기는 아직 알려지지 않았다. 일부는 윈도우 참가자 프로그램 베타 코드에서 보았거나 앞으로 볼 가능성이 있고, 다른 기능은 모먼트 업데이트를 통해 윈도우 PC에 배포될 것이다. WinRAR 지원 : WinRAR, 7Zip, GZ 같은 압축 포맷 형식이 윈도우에 통합된다는 반가운 소식이 전해졌다. 마이크로소프트는 해당 기능을 빠른 시일 내에 테스트할 것이으로 보이며, 완전한 압축 해제 기능이 윈도우 11에 릴리즈되는 것은 9월쯤으로 예상된다. 2024년에는 RAR, Zip 같은 다른 압축 파일을 생성하는 것도 가능하다. 윈도우 코파일럿 : 빌드 행사에서 큰 주목을 받은 윈도우 코파일럿은 AI 기술을 윈도우로 가져온다. 마이크로소프트는 6월 중 윈도우 코파일럿 출시를 약속했지만, 구체적인 방법은 알려지지 않았다. 윈도우 참가자 프로그램에서 윈도우 코파일럿을 확인할 수 있기를 기대한다. 작업표시줄 앱 그룹 해제 : 윈도우 10에서는 작업표시줄 내 다수 앱에 개별 레이블을 지정해 표시할 수 있다. 윈도우 11도 이 기능을 다시 수용했다. 참가자 프로그램(개발자 채널) 릴리즈에서 이번 주에 공개될 예정이다. 머지않아 전체 공개되기를 기대한다. 작업표시줄 앱 우클릭 : 작업표시줄과 관련한 또 하나의 재미있는 기능이 있다. 마치 작업 관리자에서 하듯이 작업표시줄에서 앱을 우클릭해 진행 중인 작업을 종료할 수 있다. 윈도우 백업 : 마이크로소프트는 참가자 프로그램(개발자 채널)에서 윈도우 백업을 테스트하고 있다. 윈도우 백업은 파일, 폴더(데스크톱에서의 레이아웃 위치까지), 앱과 더 많은 데이터를 클라우드에 저장하고 새로운 PC에서 재설치를 지원하는 기능이다. RGB 조명 제어 : 크리스마스트리처럼 색색의 조명을 달고 작동 중일 때마다 반짝거리는 PC 주변장치를 여럿 소유하고 있다면 축배를 들 만한 소식이다. 최근 마이크로소프트는 RGB 조명을 윈도우에서 제어하는 기능을 추가하고 업계에 표준화된 설정을 제공한다고 밝혔다. editor@itworld.co.kr
PC 사용자에게 가장 인기 있는 웹 브라우저인 크롬은 처음에는 빠르고 반응성 좋은 브라우징 경험을 제공하지만, 시간이 지나면 캐시 파일, 확장 프로그램, 리소스 소비 등의 요인 때문에 느려질 수 있다. 크롬의 성능을 향상시키는 방법은 브라우저 최신 상태 유지, 캐시 삭제, 이용 가능한 특수 기능 활용 등 많다. 크롬 실행 속도를 최대한 빠르게 유지하는 간단한 9가지 방법을 소개한다. 크롬을 항상 업데이트할 것 크롬을 최신 버전으로 업데이트하면 가장 최근의 성능 개선과 버그 수정, 보안 업데이트를 확보할 수 있다. 구글은 브라우저에 업데이트를 자주 제공하므로 항상 최신 상태를 유지하는 것이 중요하다. 업데이트는 브라우저를 닫을 때 백그라운드에서 자동으로 실행되도록 설계되어 있으며, 브라우저를 닫는 일이 거의 없다면 업데이트를 직접 확인해야 한다. 크롬은 업데이트 시간이 되면 브라우저 창 우측 상단 구석에 버튼이 생긴다. 이 버튼을 누르면 업데이트된다. 버튼이 보이지 않는다면 창 우측 상단 구석에서 세로 방향 점 3개 도움말 Chrome 정보를 클릭한다. 그러면 크롬이 업데이트를 확인한 후 설치한다. 다시 시작을 클릭하면 크롬 업데이트가 완료되고 크롬이 닫힌다. 따라서 업데이트 전에는 탭에 미완성 작업이 열려 있지 않은 지 확인해야 한다. 너무 많은 탭을 열지 말 것 브라우저에서 탭을 여러 개 열어 놓으면 메모리가 소비되며, 메모리만큼은 아니지만 CPU도 소비된다. 열어 놓은 탭의 개수가 늘어날수록 컴퓨터 리소스에 대한 수요도 늘어난다. 성능이 저하되고 페이지 로드 시간이 늘어날 수 있다. 시스템이 과부하 상태가 되면 정지 또는 멈춤 현상까지 발생할 수 있다. 미사용 확장 프로그램을 설정 해제할 것 확장 프로그램은 브라우저에 기능을 추가하는 작은 소프트웨어 프로그램이다. 유용하지만 너무 많이 설치하거나 부실하게 최적화된 것을 사용하면 구글 크롬의 성능에 부정적인 영향을 미칠 수 있다. 불필요한 확장 프로그램을 설정 해제하면 브라우저의 성능을 높일 수 있다. 브라우저 확장 프로그램을 설정 해제하는 방법은 간단하다. chrome://extensions 로 들어가 해당 확장 프로그램의 슬라이더를 끔 위치로 밀거나 삭제를 클릭하면 된다. 브라우징 데이터를 삭제할 것 기록, 쿠키, 캐시 파일 등의 브라우징 데이터를 삭제하면 디스크 공간이 확보되고 오래되거나 손상된 파일로 야기된 웹사이트 문제가 해결되므로 성능 향상에 도움이 된다. 시스템 성능뿐 아니라 개인정보보호 및 보안도 향상된다. 일반적으로 쿠키와 캐시 파일은 빠른 접근을 위해 컴퓨터의 RAM에 저장되므로 브라우징 데이터를 삭제하면 RAM 사용량을 줄여 성능이 향상될 수도 있다. 특히 장치의 메모리가 한정적인 경우, 브라우징이 부드러워지고 페이지 로딩 시간도 빨라지는 것이 보통이다. 브라우징 데이터를 삭제하는 방법은 세로 방향 점 3개 설정 개인 정보 보호 및 보안을 클릭한 후 각 옵션을 개별적으로 선택하고 데이터를 삭제하면 된다. 웹 페이지 미리 로드를 설정할 것 웹 페이지 미리 로드를 설정하면 웹 페이지에 실제로 도착하기 전에 리소스를 가져와 로드 함으로 성능이 향상된다. 사용자가 링크 위에 커서를 가져가거나 특정 페이지에 방문할 것으로 예측되면 크롬은 해당 페이지를 표시하는 데 필요한 리소스(예 : 이미지, CSS, 자바스크립트 파일)을 가져오기 시작한다. 이 작업은 사용자가 아직 현재 페이지에 있는 동안 배경에서 수행된다. 사용자가 결국 링크를 클릭하는 시점에는 컨텐츠의 많은 부분이 이미 로드 된 상태이므로 페이지의 로드 속도가 더욱 빨라 보인다. 웹 페이지 미리 로드를 설정하는 방법은 세로 방향 점 3개 설정 개인 정보 보호 및 보안 쿠키 및 기타 사이트 데이터를 클릭한 후 빠른 탐색 및 검색을 위해 페이지 미리 로드 옆에 있는 슬라이더를 켬 위치로 밀면 된다. 크롬의 에너지 절약 모드를 사용할 것 크롬의 에너지 절약 모드는 주요 기능이 배터리 지속 시간을 아끼는 것이지만 특정 배경 활동을 제한하는 방식으로 성능도 약간 향상시킨다. 에너지 절약 모드는 배터리 잔량이 20% 이하인 경우에만 사용 설정할 수 있으며, 컴퓨터의 전원이 연결되어 있지 않을 때 사용 설정할 수도 있다. 에너지 절약 모드를 설정하려면 세로 방향 점 3개 설정 성능을 클릭하고 전원 그룹에서 에너지 절약 모드 옆에 있는 슬라이더를 켬 위치로 민 다음 이 기능을 활성화하고자 하는 경우를 선택한다. 하드웨어 가속을 설정할 것 하드웨어 가속을 설정하면 크롬은 하드웨어 가속이 도움이 되는 특정 작업에 컴퓨터의 GPU를 사용한다. GPU는 그래픽 집약적인 작업을 효율적으로 처리하도록 설계되었고 특정 연산을 병렬로 처리할 수 있기 때문에 동영상 재생, 애니메이션, 그래픽 렌더링과 같은 작업에 더욱 적합하다. 이런 작업 중 일부를 CPU에서 GPU로 전가하면 성능이 향상되고 웹 컨텐츠 렌더링이 부드러워지며 시스템 리소스 소비가 줄어든다. 이는 고성능 그래픽 카드가 탑재된 시스템에서나 그래픽 요소가 많은 애플리케이션 및 웹사이트를 사용하는 경우에 특히 유익하다. 하드웨어 가속을 설정하려면 세로 방향 점 3개 설정 시스템을 클릭한 후 가능한 경우 하드웨어 가속 사용 옆에 있는 슬라이더를 켬 위치로 민다. 구글 플래그에서 GPU 래스터화를 설정할 것 래스터화는 벡터 그래픽(예: HTML, CSS, SVG 요소)을 화면에 표시될 수 있는 픽셀로 변환하는 과정이다. 기본적으로 크롬은 래스터화에 CPU를 사용한다. GPU 래스터화를 설정하면 이 작업이 컴퓨터의 GPU로 대신 전가된다. GPU는 CPU보다 그래픽 처리를 더욱 효율적으로 처리하도록 설계되었으므로 특히 고성능 GPU가 탑재된 시스템에서 웹 페이지의 렌더링이 빨라지고 성능이 향상될 수 있다. GPU 래스터화를 설정하는 방법은 chrome://flags로 이동하여 GPU Rasterization(GPU 래스터화)를 검색한 후 항목 옆에서 Enabled(설정)을 선택하면 된다. 이는 실험적인 기능이며 구글 크롬은 이 기능을 테스트 목적으로만 사용함을 분명히 밝히고 있다는 점에 유념해야 한다. 사용할 수 있다고 해서 사용해야 하는 것은 아니다. 위험이 보상보다 클 수도 있다. 또한, 하드웨어 가속을 설정했다면 래스터화도 어차피 설정되어 있다. 구글 크롬 설정을 초기화할 것 크롬을 기본 설정으로 초기화하면 브라우저가 원래 구성으로 복원되고 속도 저하 등의 문제의 원인인 사용자화, 확장 프로그램, 설정이 제거되므로 성능 문제가 해결될 수 있다. 이 방법은 다른 성능 개선 방법을 시도했으나 실패했거나 어떤 구체적인 설정이나 확장 프로그램이 문제의 원인인지 확실하지 않은 경우에 사용하면 좋다. 구글 크롬 설정을 초기화하려면 세로 방향 점 3개 설정 설정 초기화를 클릭하면 나오는 페이지에서 설정을 기본 값으로 복원하는 옵션을 선택하면 된다. 구글은 이미 크롬 속도를 높이고 있다 구글 크롬 112는 이 인기 웹 브라우저의 성능을 상당히 개선했다. innerHTML 파싱을 위한 전문 고속 경로뿐만 아니라 toString() 및 join()와 같은 자바스크립트 함수가 최적화되었다. 이런 기능은 다수의 웹사이트와 웹 앱에 걸쳐 널리 활용되면서 웹 브라우징에 눈에 띄는 차이를 가져왔다. 구글은 이런 개선 덕분에 3개월간 애플의 스피도미터(Speedometer) 2.1 브라우저 벤치마크가 10% 증가했다고 전했다. 크롬을 항상 최신 상태로 유지해야 할 또 하나의 이유다. 구글이 노고를 들여 항상 내놓는 성능 업데이트를 적극 활용하자. editor@itworld.co.kr
지난주 메타가 발표한 라마 3가 좋은 반응을 얻으면서 어떤 LLM을 선택할지, 혹은 SLM을 고려해도 될지 기업의 선택이 더욱 복잡해졌다. GPT-4나 라마 3 같은 LLM은 강력하고 다재다능하며, 복잡한 작업을 이해하므로 많은 가능성을 제시한다. 반대쪽에 선 것은 민첩하고 전문화되며 특정 사용례에 맞게 미세조정할 수 있고, 예산친화적인 SLM이다. 이번주에는 마침 마이크로소프트가 3종의 SLM 파이-3 시리즈를 공개하며 관심을 얻었다. AI 세계가 계속 발전하는 가운데 올바른 AI 모델 선택은 혁신의 판도를 바꿀 수도 있다.
생성형 AI 열풍에 밀려 관심에서 멀어지는 것처럼 보였던 양자 컴퓨팅이 다시 활기를 띄고 있다. 마이크로소프트가 큐비트의 안정성을 획기적으로 개선해 레벨 2, 즉 복원력 있는 양자 컴퓨팅 단계에 도달했다고 발표한 것이다. 양자 컴퓨팅이 실전에 활용되기 보다는 실험 단계에 머무르면서 생성형 AI처럼 당장 활용할 수 있는 기술에 관심을 빼앗긴 것은 당연한 일일 것이다. 하지만 관심이 식었다고 개발이 중단되는 것은 아니다. 더구나 마이크로소프트는 몇 년 안에 1,000큐비트 수준의 상용 양자 컴퓨팅을 실현할 수 있을 것이라고 자신감을 보였다. 양자 컴퓨팅 관련 최근 기사를 간추렸다.
사이버보안 업계에서는 개인의 ‘보안 위생’이 기업의 여러 보안 도구 못지않게 중요한 요소로 꼽힌다. 보안 위생이란 일상적인 디지털 환경에서 안전을 보장하는 일종의 관행이다. 예를 들면, 의심스러운 파일 열지 않기, 공공 와이파이 사용 시 VPN 활용하기, 백신 프로그램 설치하기 등이 있다. 제아무리 철통 보안을 자랑하는 애플이라도 보안 취약점을 피해 가지 못한다. 즉, 개인정보와 데이터를 보호하는 첫걸음이자 핵심은 사용 중인 앱과 서비스, 시스템을 마냥 신뢰하지 않고 개인 보안 위생을 철저하게 실천하는 것이다. 이를 위한 필수 상식과 팁을 소개한다.
최신 업데이트 버전인 iOS 17.4의 가장 큰 변화는 유럽연합 디지털시장법에 대비해 사용자의 서드파티 앱 스토어를 허용한 것이었다. 애플이라는 정원을 둘러싼 울타리 한 귀퉁이에 틈이 생긴 것이다. 디지털시장법에서 애플, 구글, 페이스북, 마이크로소프트, 아마존 등 거대 플랫폼 업체는 사용자간 소통을 통제하는 진입 장벽 앞 문지기로 정의되고 적극 규제 대상이 되었다. 디지털 서비스 없이는 아무것도 할 수 없는 세상에서 거대 기업을 적극 규제해 독과점을 방지하는 디지털시장법은 정보 편향 제거, 미성년 대상 광고 축소 등 실질적인 변화를 이끌어내고 있다.
생성형 AI 열풍 1년. 아직도 열기는 식지 않았지만 영리를 추구하는 기업은 조금 더 냉정해질 필요가 있다. 생성형 AI의 ROI에 대한 의문이 제기되고 비즈니스 케이스가 먼저라고 조언하는 전문가도 적지 않기 때문이다. 하지만 이런 의문 속에서 이미 생성형 AI를 도입해 성과를 올린 기업이 속속 등장하고 있다. 생성형 AI 업체 역시 자사 고객의 성공 사례를 자랑하고 있으며, 리서치 회사와 컨설팅 회사도 검증을 거친 산업별 사용례를 발표하고 있다.
증강현실, 가상현실 같은 용어에 익숙해졌더니 이제 애플 비전 프로는 공간 컴퓨팅이라는 새로운 개념을 들고 나왔다. 노트북, 태블릿, 스마트폰 등 디스플레이 뒤에서 연산을 실행하는 전통 컴퓨팅과 달리, 공간 컴퓨팅은 사용자 주변의 현실과 가상 공간에서 일어나는 상호작용, 그리고 현실과 가상 세계의 교차점을 의미한다. 애플이 비전 프로의파급력을 높이기 위해 친숙한 단어를 피한 것은 사실이지만, 관련 기술과 제품이 계속 발전한다면 공간 컴퓨팅은 분명 기계와 인간의 새로운 상호작용 방식이 될 것이다. 애플 비전 프로는 이제 시작에 불과하다.
마이크로소프트의 실적을 보면, 오픈AI에 막대한 자금을 투자한 것은 좋은 판단이었다. AI는 성장세가 둔화된 클라우드를 견인하고, 클라우드는 그런 AI의 기업 확산에 첨병 역할을 하고 있다. 하지만 클라우드와 AI의 동행이 행복하기만 한 것은 아니다. 대형 클라우드가 성취한 AI 혁신을 손쉽게 이용할 수 있는 것은 분명 큰 장점이지만, 사용량에 따라 빠르게 증가하는 비용과 민감한 데이터에 대한 불안감, AI 종속 등의 우려사항도 적지 않다. 일부 전문가는 아키텍처에 대한 재검토까지 요구하며 클라우드 기반 생성형 AI에 신중하게 접근할 것을 권고한다.
스팀 덱이 독주하던 핸드헬드 게이밍 PC 시장이 활기를 띠고 있다. 지난해 에이수스와 레노버가 각각 로그 엘라이, 리전 고를 출시한 데 이어 올해는 MSI가 자사 첫 핸드헬드 게이밍 PC ‘클로’를 공개했다. 클로는 인텔 코어 울트라 프로세서에 기반한 첫 핸드헬드 게이밍 PC라는 점에서 게이머의 기대를 한몸에 받고 있다. 정식 출시 전임에도 불구하고 후속작까지 예고됐다. 한편 벨브는 OLED 버전의 스팀 덱을 새롭게 출시하면서 선두 유지에 전념하고 있다. 마침내 핸드헬스 게이밍 PC의 전성시대가 도래하는 것일까? 리뷰부터 활용 기사까지 다양한 관련 소식을 모았다.
사용자에게는 눈이 즐거운 화려함과 기대를 주고, 기술업체에는 연초부터 기선을 제압하고 이미지를 쇄신할 기회인 세계 최대의 기술 박람회인 CES 2024가 개최됐다. 연내에 출시되는 제품도 있지만, 상용화를 염두에 두지 않고도 얼마든지 상상력과 가능성을 펼쳐보일 수 있는 장소다. PC 속 작은 LED 램프부터 반려동물처럼 사용자를 졸졸 따라다니는 가정용 로봇과 가장 실용적인 전자제품인 노트북까지, CES 2024에서 새로운 기술이 구현된 방법을 살펴 보자.
2023년 전체를 관통한 가장 뜨거운 주제를 꼽는다면 고민할 필요도 없이 '생성형 AI'다. 오픈AI가 챗GPT 서비스를 시작한 것이 지난 2022년 11월 30일인데, 불과 1달 후인 2023년 1월 ITWorld 웹사이트에서 가장 많이 본 기사가 <“나는 누구인가?” 챗GPT가 말하는 챗GPT>였다. 이후 2월, 4월, 7월, 9월, 11월까지 생성형 AI 관련 콘텐츠가 월간 많이 본 기사 1위에 올랐다. 흥미로운 것은 내용이 점점 심화, 확장됐다는 사실이다. 초반에는 챗GPT에 대한 호기심이었다면, 상반기에는 개인적인 사용법, 실제 기업의 활용 사례로 관심이 이동했다. 하반기에는 머신러닝 알고리즘, 대규모 언어 모델 같은 더 근본적인 기술에 대한 콘텐츠가 주목받았다. 학습하는 것은 본래 AI가 아니라 인간의 특기다. 2023년 생성형 AI에 대한 기본, 심화 학습을 끝낸 많은 기업과 개발자가 2024년에 어떤 새로운 개념과 서비스를 내놓을까.
에이서 아스파이어 고 15(Aspire Go 15)는 아스파이어 제품군 중 가장 저렴한 최신 노트북으로, 컴퓨터 사양에 대한 요구 사항이 크지 않은 사용자에게 간단한 컴퓨팅 플랫폼을 제공한다. 시작가가 300달러(약 41만 원)로 저렴하며, 하드웨어 사양은 저전력 E-코어에만 의존하는 구형 앨더 레이크 기반 인텔 프로세서, NVMe SSD 대신 UFS 스토리지를 사용하는 등 가격에 걸맞다. 그럼에도 불구하고 아스파이어 고 15는 일상적인 검색과 업무를 충분히 처리할 수 있는 상당히 유능한 제품이다. 세부사양 및 기능 아스파이어 고 15는 이 다양하지 않다. 인텔 기반 15인치 모델(AG15-31P로 표시됨)은 하이퍼스레딩(hyperthreading)을 지원하지 않고 클럭 속도가 제한적인 E-코어만 있는 인텔 코어 i3-N305를 탑재한 저사양 인텔 프로세서를 탑재하고 있다. 기본적으로 윈도우 11 홈 S 모드로 제공되지만, 필요한 경우 표준 윈도우 11 홈으로 전환할 수 있다. CPU : 인텔 코어 i3-N305 메모리 : 8GB LPDDR5 그래픽/GPU : 인텔 UHD 그래픽 디스플레이 : 15.6인치 FHD LCD 스토리지 : 128GB 유니버설 플래시 스토리지 웹캠 : 720p 연결성 : USB-C 3.2 2세대(충전 및 디스플레이포트 연결 지원), USB-A 3.2 1세대 2개, HDMI 1개, 3.5mm 오디오 콤보 잭 1개, 켄싱턴 락 슬롯 1개, DC 배럴 잭 1개(19V 3.42A) 네트워크 : 와이파이 6, 블루투스 5.3 생체인식 : 미지원 배터리 용량 : 53.9Wh 크기 : 14.29×9.44×0.74인치 무게 : 3.74파운드(약 1.7kg) 구성에 따라 가격 차이가 조금씩 있지만, 시스템 간 실제 차이가 명확하지는 않다. PCWorld에서 테스트한 모델은 299달러인데, 이보다 약간 비싼 349달러짜리 구성은 128GB SSD 대신 128GB 플래시 메모리를 사용한다고 알려진 것 외에는 거의 모든 사양이 동일한 것으로 보인다(온라인에서는 SSD를 사용한다고 나와 있지만, 시스템 자체에서는 기본 스토리지가 샌디스크 UFS 드라이브로 확인된다는 점이 흥미롭다). LPDDR5 메모리를 사용해 사후에 업그레이드할 수 없으므로 필요에 맞는 용량을 충분히 확보하는 것이 중요하다. 에이서의 제품 페이지에는 1TB 스토리지와 16GB 메모리 구성이 옵션으로 제시되어 있지만, 실제로 옵션 선택 페이지에는 2가지 구성을 찾을 수 없었다. 디자인 및 만듦새 에이서는 여러 세대의 아스파이어와 심지어 스위프트(Swift) 모델에서 보았던 일반적인 디자인을 고수하기 때문에 가끔 같은 제품을 다시 리뷰하는 것이 아닌가 하는 착각이 들기도 한다. 이런 점에서 새로운 작명 체계에도 불구하고 아스파이어 고 15의 디자인이 2023년 버전인 아스파이어 3과 거의 동일하다는 사실은 놀랍지 않다. 저렴한 제품군에 속하기 때문에 예상대로 모든 부품이 플라스틱으로 제작됐다. 노트북 덮개, 키보드 상판, 밑면이 모두 플라스틱 소재다. 덮개와 키보드 상판에 은색 광택을 입혀 메탈릭한 느낌을 살렸다. 은색과 검은색 조합은 클래식하고 나쁘지 않지만, 키보드와 디스플레이 베젤의 거친 플라스틱은 광택이 어색할 뿐 아니라 저렴한 느낌을 자아낸다. 플라스틱 소재는 유연하기 때문에 키보드 위에 압력을 가하면 상당히 눌려진다. 디스플레이 역시 구부러지기 쉽다. 노트북 덮개를 열 때 약간의 흔들림이 있었다. 디자인 측면에서는 일반적인 노트북과 다른 점이 거의 없다. 디스플레이 주변의 베젤은 꽤 두꺼우며, 노트북 양쪽에 포트가 탑재됐다. 힌지에도 화려한 장식적인 요소는 없다. 이 제품에서 '독특함에 가까운' 부분은 키보드 위에 있는 배기구다. 디스플레이로 열을 바로 배출하기 위해 위쪽으로 열린다. 이런 디자인은 최근 에이서가 노트북에 많이 사용하면서 보편화했다. 디자인에서 에이서가 가장 잘한 결정은 본체 앞쪽 모서리를 깎아낸 것이다. 이렇게 하면 키보드 데크로 손을 부드럽게 이동할 수 있으며, 노트북을 사용할 때 손목에 가해지는 날카로운 압력도 줄일 수 있다. 전체적으로 보기 좋거나 훌륭한 만듦새는 아니다. 하지만 300달러라는 가격을 고려하면 나쁜 수준은 아니다. 키보드 및 트랙패드 에이서의 키보드는 거의 돔형에 가까운 키캡으로 호불호가 갈리지만, 에이서는 고급형부터 보급형까지 거의 모든 모델에 같은 디자인을 적용하고 있다. 즉, 아스파이어 고 15에도 이 디자인이 적용됐다. 여기에 저렴한 메커니즘과 거친 플라스틱 소재를 더하면 타이핑 경험이 그렇게 좋지만은 않다. 테스트에서 분당 약 110개의 단어를 상당히 높은 정확도(96% 이상)로 편안하게 입력할 수 있었지만, 키캡 디자인 때문에 키 중앙을 일관되게 누르기 어려웠다. 다행히 키가 심하게 흔들리지는 않았다. 에이서는 다른 대부분 노트북 제조사처럼 화살표 키를 축소했다. 또 숫자 패드는 있지만, 키가 작을 뿐 아니라 오른쪽 조작 열이 없는 얇은 숫자 패드이기 때문에 풀사이즈 숫자 패드를 사용하던 사람이라면 약간의 적응 기간이 필요하다. 키보드 백라이트는 없으며, 오른쪽 컨트롤 키가 새로운 코파일럿 키로 대체됐다는 점도 주목할 만하다. 이런 변경으로 인해 일부 키보드 명령(예 : ctrl+-)을 한 손으로 실행하는 것이 거의 불가능하다. 트랙패드는 크고 부드러워서 마우스를 쉽게 움직일 수 있다. 테스트하는 동안 팜 리젝션(palm rejection) 관련 문제는 발생하지 않았다. 타이핑하는 동안 손바닥이 트랙패드 양쪽 모서리에 닿기 쉽기 때문에 좋은 소식이다. 하지만 가끔씩 사용 중 화면의 다른 부분으로 건너뛰는 경우가 있었는데, 두 손가락으로 트랙패드를 한 번에 터치하면 한 손가락에서 다른 손가락으로 스와이프하는 것으로 인식한 듯하다. 다행히 이런 현상은 드물었고, 방해될 정도는 아니었다. 디스플레이 및 오디오 디스플레이는 매우 실용적으로 제 역할을 다한다. 가장 좋은 점은 적당한 밝기(284니트)와 무광택 마감의 조합이다. 이상적이지 않은 환경에서도 좋은 가시성을 제공한다. 디스플레이에 불빛을 직접 비추는 상황에서도 작업 내용을 선명하게 볼 수 있다. 15.6인치 디스플레이는 2개의 창을 나란히 두고 멀티태스킹하기에 적당한 공간을 제공한다. 15.6인치의 1080p 해상도도 선명하게 보인다. 밝기 성능이 뛰어나지 않음에도 불구하고 디스플레이 명암비는 대부분 경우에서 중간 수준을 할 정도로 충분했다. 또한 화면에서 어두운 콘텐츠가 더 많이 표시되면 백라이트를 낮추고 밝은 콘텐츠가 더 많이 표시되면 백라이트를 높이는 기능인 동적 명암비(dynamic contrast)를 지원한다. 화면에 표시되는 속도보다 빛이 바뀌는 느리고, 새롭고 밝은 창을 여는 등 큰 변화가 있을 때는 잠시 동안 보기 불편할 수 있다. 대부분 검은색인 윈도우에서는 디스플레이 하단 모서리에서 빛샘 현상이 뚜렷하게 드러나기도 한다. 디스플레이의 가장 큰 단점은 색 영역이 너무 부족하다는 점이다. 이로 인해 화면이 다소 칙칙하고 생동감 없어 보인다. 스피커도 다른 부분과 마찬가지로 간단하게 제 기능을 하는 것에 중점을 뒀다. 바닥에 탑재된 작은 스피커는 충만함은 부족하지만 거칠게 들리지 않으며, 충분히 큰 소리를 낸다. 훌륭한 고음은 아니고 저음은 사실상 들리지 않으며, 보컬 음역대를 가장 잘 들려준다. 따라서 팟캐스트, 통화 또는 강의에 적합하고 음악이나 영화 감상용은 아니다. 웹캠, 마이크 및 보안 아스파이어 고 15에는 720p 기본 웹캠이 탑재됐다. 일반적인 사용 환경에서는 괜찮은 수준이지만, 노트북 사용 환경이 프레젠테이션 중심이거나 콘텐츠를 제작할 때는 좋은 옵션이 아니다. 마이크는 울림을 제거하고 목소리에 집중하기보다는 실내 소리를 많이 포착한다. 지문 또는 얼굴 인식 기능은 제공하지 않는다. 따라서 시스템 보안은 비밀번호나 PIN에 의존해야 하는데, 몇 가지 추가 보안 수단을 사용해야 할 수도 있다. 테스트 시 비밀번호를 설정했음에도 불구하고 노트북이 비밀번호를 묻지 않은 채 잠시 대기 상태로 머문 경우가 있었다. 덮개를 닫고 다른 장소에서 노트북을 다시 연 후에도 마찬가지였다. 참고로 노트북을 닫기 전에 win+L을 눌러 잠그는 습관을 들이면 다음에 노트북을 열 때 보안을 유지할 수 있다. 다른 윈도우 노트북에서는 볼 수 없는 다소 느슨한 보안 방식에 필자는 다소 충격을 받았다. 리뷰용 제품이라 이렇게 설정된 것일 수도 있지만, 소매용 제품을 이런 식으로 출시한다면 '설정 > 계정 > 로그인 옵션 > 추가 설정'에서 '윈도우를 사용하지 않을 경우 언제 다시 로그인해야 합니까?'의 설정을 '매번'으로 변경할 필요가 있다. 연결성 저렴한 가격에도 불구하고 연결성은 놓치지 않았다. 아스파이어 고 15는 와이파이 6를 지원하며, 테스트에서 상당히 안정적인 연결을 유지했다. 블루투스도 5.3 버전을 지원하고 테스트하는 동안 문제가 거의 발생하지 않았다. 포트는 약간 다른 문제다. 배열은 괜찮지만 최신식은 아니다. 양옆에 탑재된 USB-A 포트는 최고 5Gbps를 지원한다. 왼쪽에 있는 USB-C 포트는 최대 10Gbps다. 썬더볼트 혹은 USB4 포트는 제공하지 않으며, 20Gbps 속도를 제공하는 USB 3.2 젠 2x2 포트도 없다. 노트북 왼쪽에는 HDMI 포트와 DC 전원 어댑터가 있고, 오른쪽에는 3.5mm 헤드폰 잭과 켄싱턴 락 슬롯이 탑재됐다. 성능 8개의 E 코어 클러스터만으로는 눈에 띄는 성능 기록을 세울 수 없을 것으로 예상했다. 안타깝게도 아스파이어 고 15는 구형 아스파이어 모델이 여전히 최고의 성능을 발휘한다는 사실을 증명했다. 다양한 생산성 작업에서 전반적인 시스템 성능을 측정하는 PC마크 10(PCMark 10)을 보면, 아스파이어 고 15는 4개 코어로 더 높은 클럭과 다중 스레드를 제공하고 매우 다른 아키텍처에서 실행되는 작년의 아스파이어 3 성능보다 상당히 뒤처져 있다. 또한 한 세대 전인 코어 i5-1135G7을 실행하는 훨씬 더 오래된 에이서 아스파이어 5도 따라잡지 못했다. 다른 아스파이어 모델도 메모리 용량이 8GB에 불과하고 훨씬 높은 사양을 갖춘 것도 아니었다. 다른 제조사 제품과 비교하면, 적어도 서피스 고 3(Surface Go 3)와 같은 빈약한 성능의 제품은 능가한다. 지난해 출시된 100만 원대 울트라북인 에이수스 젠북 14 OLED(ZenBook 14 OLED)와 비교하면 모든 시스템이 뒤처져 있다. 더 나은 성능과 우수한 디자인 및 만듦새를 제공하는 이들 제품의 가격이 내려간다면 아스파이어 고 15에 불리하게 작용할 수 있다. 성능 차이는 CPU에서 비롯한다는 것을 쉽게 알 수 있다. 시네벤치 R15(Cinebench R15)에서는 아스파이어 고 15와 그 이전 모델 간의 성능 격차가 다시 나타났다. 라이젠 기반 아스파이어 3은 고 15보다 2배가 넘는 성능 우위를 보였다(코어가 절반이라는 점을 기억하라). 구형 코어 i5 모델이 탑재된 아스파이어 5도 고 15를 근소한 차이로 앞섰다. 이런 제품은 CPU에 내장된 통합 그래픽에 의존하기 때문에 그래픽 성능은 대부분 CPU 성능에 달렸다. 즉, CPU 성능이 약하면 그래픽 성능도 약하다. 아스파이어 고 15에서 유튜브 동영상을 실행하고 다른 창에서 다른 작업을 하는 등 iGPU에 부하가 걸리는 작업을 실행한다면 성능이 저하될 수 있다. 이 제품이 제공하는 인텔 UHD 그래픽은 가벼운 작업에는 적합하지 않다. 적어도 2023년형 아스파이어 3보다는 우위가 있지만, 인텔 아이리스 Xe 그래픽의 강력한 성능을 제공하는 구형 아스파이어 5보다는 뒤처진다. 한편, 에이수스 젠북 14 OLED는 통합 그래픽에 더 많은 리소스를 제공하는 큰 메모리가 주는 이점을 다시 한번 보여준다. 스토리지 속도도 언급할 만하다. 크리스탈디스크마크(CrystalDiskMark)를 사용해 측정한 결과, 아스파이어 고 15의 최대 읽기 속도는 1,074MB/s, 쓰기 속도는 298MB/s였다. 이는 최근 노트북에서 보편화하고 있는 PCIe 4.0 옵션은 언급할 것도 없고 PCIe 3.0 기반 SSD에서도 느린 속도다. 배터리 동영상 재생 테스트에서 아스파이어 고 15는 거의 12시간 동안 원활하게 작동했다. 아스파이어 고 15와 비슷한 54Wh 배터리와 더 작은 디스플레이를 탑재한 아스파이어 5가 6시간 30분 재생에 그친 것을 보면 배터리 성능이 큰 폭으로 향상했음을 알 수 있다. 2023년 출시된 아스파이어 3은 배터리 용량이 40Wh로 더 작지만, 그 차이를 고려하더라도 효율성이 떨어지는 편이다. 함께 비교한 제품 중 에이수스 젠북 14 OLED만이 아스파이어 고 15를 앞질렀다. 젠북 14 OLED는 75Wh 배터리를 탑재하고 있어 50% 더 긴 런타임을 기록했다. 하지만 비디오 재생은 실행 시간에 유리한 테스트 시나리오다. 시스템이 생산성 작업을 더 열심히 수행하면 배터리 사용 시간은 일반적으로 6~8시간에 가깝게 떨어진다. 총평 에이서 아스파이어 고 15는 화려하지는 않지만, 분명한 가치가 있다. 8GB 메모리를 놀라울 정도로 잘 활용하고 저전력 CPU를 효율적으로 사용한다. 하루 종일 사용할 수 있는 넉넉한 배터리와 낮은 밝기에도 잘 보이는 디스플레이를 갖춘 아스파이어 고 15는 가격 대비 가치가 충분히 있는 기기다. 고급 부품을 탑재한 노트북과 직접적인 경쟁은 피할 수 있지만, 에이수스 젠북(필자는 최근 500달러에 구입했다)을 포함해 때때로 상당한 할인을 받을 수 있는 고성능 노트북이 많이 있다. 조금 더 좋은 성능을 누리고 싶다면 이전 세대 컴퓨터의 가격을 주시하고, 아스파이어 고 15 수준도 적당하다면 가격 대비 좋은 선택이 될 것이다. editor@itworld.co.kr
휴대용 모니터는 보통 휴대성과 저렴한 가격을 우선시하느라 무언가 한 가지를 포기해야 한다. 최근에는 250달러 이하의 OLED 디스플레이도 출시되고 있다. 뷰소닉 VX1655-4K-OLED의 접근 방식은 조금 다르다. 이 제품은 SDR과 HDR 콘텐츠 모두에서 뛰어난 화질을 제공하는 것을 목표로, 열망에 걸맞은 가격을 책정했다. 다행히도 뷰소닉은 그 목표를 달성했다. 뷰소닉 VX1655-4K-OLED 사양과 기능 서류상 사양은 인상적이다. 일반적으로 고가의 휴대용 모니터와 노트북에서만 볼 수 있는 4K OLED 패널을 탑재했다. VESA 디스플레이HDR 500 인증을 받은 것도 휴대용 모니터로는 드물다. 시판되는 대다수 제품이 이 인증을 받지 못했기 때문이다. 디스플레이 크기 : 16인치 와이드스크린 기본 해상도 : 3840ⅹ2160 패널 유형 : OLED 재생률 : 60Hz 적응형 동기화 : 지원 안 함 HDR : 지원함, VESA 디스플레이HDR 500 인증 획득 포트 : USB-C 2개(디스플레이포트 대체 모드와 60와트 전력 공급), 미니HDMI 2.0 1개, 3.5mm 오디오 출력 1개, USB-C 전원 입력 1개 VESA 마운트 : 없음 스피커 : 포함 가격 : 정가 499.99달러(미국 기준) / 소매가 449.99달러 사양이 고급인 만큼 정가와 실제 소매가도 각각 499.99달러/449.99달러로 휴대용 모니터로는 높은 편이다. 예산에 민감한 사용자는 금세 고개를 돌릴지도 모른다. 그러나 고화질에 비용을 지불할 의향이 있다면 만족스러운 결과를 얻을 수 있다. 뷰소닉 VX1655-4K-OLED 디자인 뷰소닉은 VX1655-4K-OLED 설계에 많은 노력을 기울였다. 3면의 슬림 베젤과 디스플레이 전면 전체를 덮는 유리 패널이 그 결과다. 모니터 후면도 금속 느낌을 주는 견고한 섀시 소재를 선택했다. 디스플레이를 다룰 때에도 패널이 거의 휘지 않는데, 일반적인 휴대용 모니터에서는 보기 힘든 장점이다. VX1655는 16인치 와이드스크린 모니터이므로 큰 가방이나 백팩에 넣고 이동해야 한다. 그러나 모니터 자체 무게가 700g에 불과하고 가장 두꺼운 부분도 1.5cm에 불과할 만큼 얇아 15인치~16인치 노트북 가방에 쉽게 넣을 수 있다. 노트북과 함께 넣기도 한다. 후면 섀시에는 킥 스탠드가 내장돼 있다. 보통 커버나 케이스 겸용 분리형 스탠드를 제공하는 경우가 많은데, VX1655의 킥 스탠드는 분리되지 않는다. 모니터가 움직일 때 예기치 않게 분리되거나 접히지 않아 안정성 면에서의 장점이 있다. 모니터 전면을 보호하는 탈착식 커버가 함께 제공된다. 긁힘과 가벼운 충격을 막아주지만 손으로 잡았을 때는 얇게 느껴져서 보호 슬리브를 구입하는 것이 좋다. 커버는 기껏해야 30~40g 내외이므로 그다지 거추장스럽지 않다. 뷰소닉 VX1655-4K-OLED의 연결성과 메뉴 뷰소닉 VX1655-4K-OLED의 연결부는 킥스탠드와 붙어 있다. 디스플레이포트 대체 모드, 모니터에 전원을 공급하는 60W 전력을 지원하는 USB-C 포트 2개가 있다. 미니 HDMI 포트 1개와 3.5mm 오디오 잭도 있다. 연결 지원 범위는 좋지만 일반 HDMI 포트가 있으면 더 좋을 것 같다. 충분한 전력을 공급하는 기기와 함께 사용할 경우 USB-C 포트 하나만으로 모니터에 전원을 공급할 수 있다(최대 소비 전력은 24W다). 아니면 동봉된 USB-C 전원 어댑터를 사용한다. 깊이 3.5인치, 높이 2인치, 두께 1인치인 이 어댑터는 생각보다 조금 크다. 여행객은 개인용 USB-C 충전기를 선호하는데, 최소 30W를 공급하는 충전기라면 호환이 가능하다. 킥스탠드 오른쪽 조이스틱으로 모니터 화면 메뉴에 접근할 수 있다. 조이스틱은 반응이 빠르고 사용하기 쉬워 경쟁 제품의 메뉴 컨트롤보다 훨씬 편리한 기능이다. 메뉴는 보통 볼륨이나 전원 버튼에 통합된 경우가 많고, 일정한 시간 내에 특정 버튼을 눌러야 하는데 공식을 잊어버리기가 쉽다. 뷰소닉 VX1655-4K-OLED의 화면 메뉴는 라벨이 잘 표시되어 있고, 읽기 쉬우며 색 온도와 감마 값 사전 설정, 색상 보정 옵션 등 상당한 이미지 품질 조정 기능을 제공한다. 가끔 메뉴 탐색 중 조이스틱 입력이 반전되는 경험을 했다. 즉, 입력이 취소되거나 취소가 입력되는 등 실수나 오탐색으로 이어졌다. 킥스탠드에는 작은 스피커가 내장돼 있다. 팟캐스트 같은 간단한 오디오를 재생하자 약하지만 선명한 소리가 들렸다. 음악이나 영화 같은 복잡한 소리를 처리하기에는 버거운 스피커다. 완전히 이 스피커에 의존하기는 어렵지만 급할 때 화상 통화를 할 수는 있을 것이다. 뷰소닉 VX1655-4K-OLED SDR 화질 사양의 주인공은 60Hz 주사율과 16:9 화면비를 지원하는 4K OLED 패널이다. 최근 휴대용 모니터에서도 OLED 패널이 심심치 않게 보이기는 하지만, 기본적으로 픽셀 밀도가 높은 프리미엄 패널이고 거의 모든 테스트에서도 좋은 성능을 입증했다. 최대 SDR 밝기는 457니트로 휴대용 모니터로도 높은 수준이고 노트북 OLED 패널로도 강력한 수치다. 거의 모든 환경에서 편안하게 볼 수 있다. 그러나 패널을 덮은 유리가 반사율이 높으므로 실외나 햇볕이 잘 드는 곳에서 모니터를 사용할 때는 눈부심 문제가 생길 수 있다. 명암비는 거의 모든 OLED 디스플레이와 같은 수준이므로 그다지 놀랍지 않았다. 그럼에도 검은색 표현에 깊이가 있어 풍부하고 몰입감 있는 시청 경험을 제공한다. 저가형 휴대용 모니터에서 흔한 IPS 패널보다 한층 더 개선된 점이 흥미롭다. IPS 디스플레이의 명암비는 일반적으로 1,000:1이므로 암부 표현이 흐릿하고 회색으로 보인다. VX1655는 PC 게임과 스트리밍 서비스 등 엔터테인먼트에 탁월하다. 색 재현력도 또 다른 장점이다. VX1655는 전체 sRGB와 DCI-P3 색 영역은 물론 어도비 RGB의 94%를 표현한다. 휴대용 모니터로는 매우 높은 수준이고, 색상이 중요한 사진이나 디자인, 영상 편집 작업에 유용하다. 일상적인 용도로 쓸 때도 디스플레이 채도가 높고 생생하게 보인다. 색상 정확도는 보통 수준이었지만 한 가지 주의할 점이 있다. OLED 패널은 표시되는 내용에 따라 밝기가 변동되므로 색상 정확도를 테스트할 때 문제를 일으킬 수 있다. 에이수스를 위시한 경쟁사는 밝기 변동을 방지하고 디스플레이의 최대 밝기를 약간 낮추는 균일 밝기 모드로 이 문제를 해결한다. 뷰소닉도 비슷한 옵션을 고려해야 할 것 같다. 테스트에서는 밝기 변화가 미세하게 관찰됐다. 감마 및 색 온도 테스트에서 VX1655는 우수한 성능을 보였다. 감마 커브는 2.2로 목표치에 바로 도달했고, 색 온도는 6600K로 이상적인 수치인 6500K보다 약간 낮았다. 선명도는 큰 장점이다. 16인치 4K 패널은 인치당 275픽셀을 제공해 인치당 163픽셀에 불과한 27인치 4K 모니터를 훨씬 뛰어넘는다. 텍스트와 고해상도 이미지가 놀라울 정도로 선명해서 다소 비현실적으로 보일 때도 있다. 이 정도 크기의 모니터에는 다소 과한 면이 있지만, 가장 선명하게 표현하는 휴대용 모니터를 찾는다면 실망하지 않을 것이다. 전반적으로 VX1655의 이미지 품질은 매우 뛰어나다. 색 재현율과 정확도 등 뷰소닉 컬러프로 VP16에 못 미치는 점이 약간 있지만, 대다수 사용자에게는 VX1655의 선명도와 밝기가 매력으로 다가갈 것이다. 이노크 15A1F 등 아마존에서 인기를 얻고 있는 휴대용 OLED 모니터를 능가한다. 둘 중 하나를 추천하라면 훨씬 저렴한15A1F지만, VX1655의 해상도와 밝기는 콘텐츠 제작과 엔터테인먼트에 적합하다. 뷰소닉 VX1655-4K-OLED HDR 화질 HDR 성능은 놀라움 그 자체였다. VESA 디스플레이HDR 500 인증도 받았고 테스트 결과 최대 밝기가 500니트 초반대였다. 밝기는 HDR 콘텐츠의 세부 표현이나 생생하고 선명하며 사실적인 재현에 매우 중요한 요소다. 밝은 장면에서는 감탄사를 이끌어낸다. 500니트 밝기가 아주 충분한 정도는 아니지만 지금껏 테스트한 휴대용 모니터 중 HDR 성능으로는 최고였다. 뷰소닉 VX1655-4K-OLED 모션 성능 게이밍에 강점이 있는 제품이 아니므로 재생률은 60Hz다. 같은 가격대 이하의 120Hz나 240Hz 재생률 모니터와 달리 향상된 모션 유동성을 제공하지 않는다. 그래도 모션 선명도는 괜찮다. OLED 패널의 픽셀 응답 시간이 빠르기 때문이다. 즉, 각 픽셀이 변화에 빠르게 반응하므로 움직이는 물체 뒤의 모션 블러가 줄어든다. 물체가 빠르게 움직이면 블러 효과가 심해지지만 경쟁이 덜한 PC 게임이라면 괜찮다. 뷰소닉 VX1655-4K-OLED를 구입해야 할까? 뷰소닉 VX1655-4K-OLED는 뛰어난 휴대용 모니터다. 밝고 선명한 고명암비 OLED 패널을 탑재해 SDR과 HDR 콘텐츠 화질이 모두 뛰어나다. 내장형 킥스탠드와 견고한 섀시도 돋보인다. 번들인 디스플레이 커버가 얇았고 화면 메뉴에 가끔 오작동이 있었지만 사소한 오류였다. 가방에 쉽게 넣을 수 있는 휴대용 모니터에서 화질까지 만족하려면 VX1655가 가장 적합하다. editor@itworld.co.kr
트렌디한 디자인 매장에서는 수백 가지 종류의 병따개, 소금과 후추 그라인더, 알레시 주전자가 진열돼 있다. 소파 옆에는 쓸모없는 쿠션이 가득하고, 신용카드 두 장과 지폐 한 장 겨우 들어가는 가죽 지갑, 거품이 닿는 순간 넘어질 것 같은 샴페인 플루트 잔도 있다. 하지만 개중에는 멋진 디자인의 라이트닝 케이블을 제외하면 일상적으로 사용하는 휴대폰과 노트북에 유용한 IT 기기는 거의 찾아볼 수 없다. 기술은 어디에나 있지만, 엘르 데코레이션(Elle Decoration)과 같은 인테리어 디자인 잡지에서는 전자 기기에 대한 특집을 거의 찾아볼 수 없다. 스티브 잡스와 조니 아이브는 기술이 시대를 초월한 디자인을 지향해야 한다는 것을 알고 있었다. 따라서 애플이 충전기를 매장에 진열하기로 한 것은 놀라운 일이 아니다. 벨킨 부스트차지 프로 투인원 독은 애플을 중심으로 한 기술 액세서리 회사의 오랜 전통을 따르고 있으며, 미적 감각을 자극하는 미니멀리즘 디자인이 돋보이는 제품이다. 디자인만으로도 충분하다 크기가 작고 높이가 낮은 부스트차지 프로 투인원 충전 스탠드는 우아한 곡선 형태를 띠고 있다. 전구 모양과 비슷한 충전 스탠드는 최소 60% 이상의 PCR(post-consumer recycled) 플라스틱으로 제작됐으며, 부드러운 모서리와 쓰다듬고 싶게 만드는 질감이 특징이다. 플라스틱 대신 지속 가능한 소재를 사용한 이 제품은 외부 포장 또한 산림 친화적인 종이를 사용한다. 부스트차지 프로 투인원 충전 스탠드는 중성적이면서 자연주의적인 색상인 차콜과 샌드 2가지로 제공된다. 대부분 충전기가 온통 흰색, 검은색 혹은 회색뿐인 다른 대부분 충전기와는 어울리지 않을 수 있다. 차콜은 매끄러운 석탄 덩어리처럼, 샌드는 해변가에서 주워서 깨끗하게 씻은 뽀얀 돌처럼 데스크테리어를 완성한다. 상단의 무선 충전 패드는 최대 70도까지 각도를 조절할 수 있다. 아이폰을 가로 스탠바이 모드로 설정하면 백그라운드에서 충전하는 동안 디지털 액자나 디자이너 시계로 사용할 수 있다. 크롬 소재의 시계 충전 패드는 스탠드 뒷면에 탑재돼 있다. 하지만 앤커 쓰리인원 큐브(Anker 3-in-1 Cube)와 같은 일부 소형 멀티 디바이스 충전기와는 다르게 접을 수 없다. 하지만 시계 충전기를 뒤로 접을 수 있도록 설계됐다면 스탠드의 전체적인 미관을 해칠 수도 있었을 것이다. 어쨌든 뒤쪽에 숨겨져 있기는 하다. 부스트차지 프로는 높이가 10.5cm, 길이 7.8cm, 너비는 7cm이며, 무게는 540g이다. 무선 충전 전원 디자인에 대한 칭송은 이쯤에서 충분한 듯하다. 벨킨 부스트차지 프로 투인원의 무선 충전기로서의 기능을 살펴본다. 이 제품은 아이폰과 애플 워치를 동시에 충전할 수 있는 투인원 충전기다. 맥세이프 패드를 수평으로 놓으면 아이폰 대신 에어팟 무선 충전 케이스를 충전하는 것도 가능하다. 부스트차지 프로 투인원은 애플 공식 인증 제품이므로 15W로 아이폰을 충전하고 애플워치(시리즈 7 이상)를 고속 충전할 수 있다. 맥세이프 충전은 아이폰 12 이상(13/14/15)에서 작동한다. 제품과 비슷한 색상의 30W USB-C 전원 충전 어댑터와 1.5m USB-C 케이블도 함께 제공한다. 가격 및 대안 맥세이프가 포함된 부스트차지 프로 투인원 독은 벨킨 또는 애플 홈페이지에서 129.99달러(약 17만 5,000원)에 구매할 수 있다. 기본 충전기치고는 비싸지만, (149.95달러)보다는 저렴하다. 큐브보다 부스트차지 프로 투인원의 디자인을 더 선호하는 사람이 있을 수 있지만, 큐브는 한 번에 3대까지 충전하는 것이 특징이다. 또 다른 훌륭한 디자인을 지닌 제품은 129.95달러의 트웰브사우스(Twelve South) 다. 하지만 버터플라이 투인원은 충전 스탠드라기보다는 멋진 휴대용 충전기에 가깝다. 필자는 벨킨은 집에 두고 트웰브사우스는 백팩에 넣고 다닌다. 인테리어와 잘 어울리는 충전 스탠드 대안도 있다. 7.5W로 충전 속도가 비교적 느린 저니(Journey)의이다. 유그린(Ugreen)의 는 최대 100W를 공급하므로 아이폰을 무선 충전하는 동시에 대형 맥북을 충전할 수 있다. 기울일 수 있는 맥세이프 충전 패드가 있어 벨킨과 비슷해 보이지만, 조금 더 투박하고 다소 불안한 느낌을 준다. 전면에 USB-C 포트 2개와 USB-A 포트 1개가 있어 업무용 책상 위에 두기에는 훌륭한 선택이다. 결론 현대적인 디자인의 벨킨 부스트차지 프로 투인원 독은 침실, 책상, 테이블 등 어느 곳에 놓아도 인테리어에 잘 어울릴 가능성이 크다. 아이폰와 애플 워치를 빠른 속도로 충전할 수 있는 멋진 디자인의 충전 스탠드다. 트렌디한 디자인 매장의 진열대는 물론이고 집에서도 알레시 주전자, 튜얼릿 토스터와 함께 진열할 수 있는 감성을 지녔다. editor@itworld.co.kr
더 빠르고 효율적이며, 더 저렴한 새로운 무선 충전기가 곧 쏟아질 예정이다. 최신 치2(Qi2, '치'라고 읽음) 충전 표준을 기반으로 한 이 새로운 무선 충전기는 현재 사용 가능한 대부분의 무선 충전기보다 2배 빠른 15W 전력 전송을 지원한다. 이 치2를 지원하는 대표적인 제품이 바로 앤커(Anker)의 폴더블 앤커 맥고 쓰인인원(Anker MagGo 3-in-1) 무선 충전 스테이션이다. 치2 표준을 활용하면 어떤 제품이 나오는지를 잘 보여주는 좋은 사례다. 이 제품은 아이폰(아이폰 13 이상)을 15W로 충전하며, 애플 인증을 받아 애플 워치도 고속 충전한다. 무선 충전 케이스를 지원하는 에어팟에도 쓸 수 있다. 하지만 모든 신기술이 그렇듯 회의적인 시각이 있을 수 있다. 치2가 정말 맥세이프만큼 좋을까? 리뷰 결과 이에 대한 대답은 명확하다. '그렇다'. 그래도 남아 있을 불안을 고려해 일단 치2 충전 기술에 대해 간단히 알아보자. 그 후에 본격적으로 이 제품을 리뷰한다. 치2, 치보다 빠르고 맥세이프와 유사 치 무선 충전은 2008년부터 사용된 현재로선 비교적 낡은 기술이다. 애플은 2014년 애플 워치를 출시하면서 치 사양을 쓰기 시작했고, 2017년 아이폰 8에 무선 충전 기능을 추가했다. 다른 휴대폰 업체와 비교하면 출발은 오히려 늦었다. 하지만 애플은 기존 기술을 개량해 자체 기술로 개발하는 장기를 살려 2020년 아이폰 12에 맥세이프를 도입했다. 맥세이프는 치보다 빠른 충전 표준이다. 기기를 충전기에 자석으로 고정하는 방식으로 전력을 더 효율적으로 전송한다. 구체적으로는 맥세이프에 적용된 MPP(Magnetic Power Profile) 기술이 자석을 사용해 무선 충전 송신기와 수신기 코일을 정확하게 정렬한 후 무선으로 전력을 전송한다. 치 표준의 최고 충전 속도는 15W지만, 기기 제조사는 일반적으로 10W 또는 7.5W로 충전 속도를 고정한다. 맥세이프는 15W 충전용으로 설계됐고, 이 최대치를 활용하려면 애플의 특별 인증을 받아야 한다. 인증을 받지 않은 맥세이프 호환 마그네틱 무선 충전기는 애플에 의해 강제로 성능이 낮아져 7.5W 이상 충전할 수 없다. 이런 애플 인증 과정에는 상당한 비용이 들기 때문에 결과적으로 맥세이프 충전기는 비싸다. 일부 고가 충전기 제조업체조차 7.5W를 고수한 것도 이 때문이다. 그런데 이제 치 발표 이후 16년 만에 치2가 등장했다. 호환되는 충전기를 자유롭게 사용하면서도 아이폰을 최대 15W로 충전할 수 있다. 애플이 무선 전력 컨소시엄(WPC)에 맥세이프 MPP 사양을 제공했기 때문에 치2가 나올 수 있었다는 점에서, 치2와 맥세이프는 사실상 같은 기술로 볼 수 있다. 단, 링 정렬이 똑같지는 않기 때문에 아이폰 12는 치2와 호환되지 않는다. 그 이후에 나온 아이폰만 치2를 지원한다. 결과적으로 이제 충전기 제조사는 더는 애플에 비싼 인증을 받을 필요 없이 WPC의 인증만 받으면 된다. 아이폰 외의 방대한 새로운 안드로이드 시장을 고려하면 앞으로 15W 무선 충전기의 가격이 크게 인하될 가능성이 크다. 앤커 맥고 무선 충전 스테이션의 디자인 현재 시장에는 매우 다양한 쓰리인원 맥세이프와 맥세이프 호환 충전기가 나와 있다. 일부는 유연하지 않은 스탠드형이고, 일부는 기울이고 회전할 수 있으며, 또 일부는 주머니에 넣고 다닐 만큼 작다. 앤커 맥고 무선 충전 스테이션은 여행용 쓰리인원 아이폰/워치/에어팟 충전기다. 15W 아이폰 충전에는 치2를, 5W 시계와 에어팟 충전에는 구식 치 표준을 사용한다. 길이와 너비는 8.9×6cm, 두께 2.5cm, 무게 195g으로 신용카드 정도 크기의 초소형 충전기다. 치2 패드를 들어 올리면 대기 모드에서 가로 또는 세로로 아이폰을 거치할 수 있는 스탠드가 된다. 충전기를 접은 상태에서 치2 패드를 위로 올린 상태로 아이폰을 충전할 수도 있다. 에어팟을 충전하거나 치2 패드를 스탠드로 사용하려는 경우에만 펼치면 된다. 5W 시계 충전 모듈은 아래쪽에 숨겨져 있다. 평평하게 눕히거나 비스듬히 세워 나이트스탠드 모드로 사용할 수 있다. 본체를 보면, 안정성으로 제품을 지지하기 위해 밑면에 4개의 그립감이 좋은 모서리 다리가 있다. 그 크기가 필자가 그동안 본 제품 중 가장 좋다. 본체 위쪽으로는 치 무선 충전 패드가 있어 에어팟을 5W로 충전할 수 있다. 충전 스테이션 색상은 흰색과 검은색이다. 무선 충전 성능 치2의 핵심은 치 또는 맥세이프 호환 충전기보다 더 빠른 충전 속도다. 이번 앤커 치2 기반 쓰리인원 같은 기기의 진정한 가치도 여기서 나오므로, 이 테스트가 가장 중요했다. USB-C 케이블과 인증된 맥세이프 충전기, 그리고 앤커의 치2 충전기 등 3가지를 사용해 아이폰 15 프로를 어떻게 충전하는지 비교했다. 먼저 케이블을 통한 유선 충전은 항상 무선 충전보다 빠르다. USB-C로 연결한 테스트용 아이폰 15 프로는 23분 만에 50%, 55분 만에 80%, 69분 만에 100%까지 충전됐다. 앤커 치2 무선 충전기에서는 유선 충전의 두 배인 45분 만에 50%에 도달했다. 하지만 결코 나쁜 성능은 아니다. 이후 90분 만에 80%까지 올라갔고, 완전히 충전하는 데는 2시간이 걸렸다. 인증된 맥세이프와 비교하면 어떨까? 애플 공식 맥세이프 충전기를 사용해 아이폰을 충전해봤다. 치2는 맥세이프를 기반으로 하고 있고 둘 다 15W 전력 전송을 지원하므로, 치2와 맥세이프가 비슷할 것으로 기대했는데, 결과도 예상대로 였다. 실제 테스트 결과 5분 정도 차이가 나긴 했지만 치2 충전속도는 맥세이프와 비슷한 것으로 나타났다. 결과적으로 치2 충전기는 인증된 맥세이프와 같은 속도로 충전한다. 안심하고 추천할 수 있는 제품이다. 어댑터가 포함된 것도 장점 앤커 맥고 쓰리인원 무선 충전 스테이션의 가격은 109.99달러다. 이전 리뷰에서 높은 평가를 받았던 쓰리인원 맥세이프 충전기인 트웰브 사우스 하이라이즈 3 디럭스(Twelve South HiRise 3 Deluxe)가 149.95달러인 것을 고려하면 조금 더 저렴하다. 휴대성을 중심으로 경쟁 제품과 비교하면 저렴한 쓰리인원 폴더블 충전기인 50달러짜리 쿠시우 X55 쓰리인원이 있지만, 15W 맥세이프 또는 치2를 지원하는 경쟁 제품을 찾기는 쉽지 않다. 더구나 저렴한 쓰리인원 기기에는 USB-C 어댑터가 빠져 있다. 반면 앤커 맥고 충전 스테이션에는 강력한 40W 어댑터가 포함돼 있다. 앤커의 15W 쓰리인원 제품인 큐브(Cube)도 휴대성이 뛰어나지만 훨씬 무겁고(411g vs. 195g), 149.95달러로 1/3 가량 더 비싸다. 또 다른 쓰리인원 제품인 89달러짜리 원어댑터 원고(OneAdaptr OneGo)는 앤커 맥고만큼 작지만 10,000mAh 보조 배터리가 포함되어 있어 범주가 조금 다르다. 더구나 이 제품 역시 15W 충전기가 아닌 7.5W 충전기다. 정리하면, 고속 치2 마그네틱 무선 충전 기술을 기반으로 한 최초의 쓰리인원 충전기인 앤커 15W 맥고 쓰리인원 무선 충전 스테이션은 애플의 맥세이프와 같은 빠른 무선 충전을 지원할 뿐만 아니라 견고하고 접을 수 있다. 작지만 유연한 디자인으로 모든 것을 지원하는 멋진 제품이다. editor@itworld.co.kr
갤럭시 A 시리즈를 살펴볼 때면 가격이 놀라울 정도로 저렴하지만 눈에 잘 띄지 않는 제품이 있다. 여기서 리뷰할 갤럭시 A15 4G 모델은 영국에서 169파운드(약 28만 원)에 구매할 수 있다. A15의 저렴한 가격표는 성능과 기능 면에서 어떤 이점이 있을까? 디자인 및 만듦새 플라스틱 및 유리 마감 방수방진 등급 없음 먼지가 잘 붙음 삼성은 매우 확고한 디자인 미학을 가지고 있다. 새로운 A15는 같은 시리즈이자조금 더 비싼 모델인 A25 5G와 소재 및 크기가 거의 동일하다. 더 저렴한 A15는 160.1×76.8×8.4mm 크기에 무게는 200g로 A25보다 약간 더 작고 무겁다. 섀시와 뒷면은 플라스틱으로 마감됐고, 전면에는 디스플레이용 유리 패널이 탑재됐다. 삼성은 기술 사양에 고릴라 글래스와 같은 소재를 언급하지 않았다. 이런 가격대의 스마트폰에서는 강화 소재를 거의 찾아볼 수 없기 때문에 놀라운 일은 아니다. 오른쪽 측면에는 전원 및 볼륨 버튼이 약간 돌출되어 있으며, 전원 버튼에는 지문 센서가 탑재됐다. 다른 측면형 지문 리더기와 마찬가지로 엄지손가락으로 휴대전화를 잡는 경우가 많아 매우 편리하지만, 필자처럼 왼손잡이인 경우 주머니에서 휴대폰을 꺼낸 후 쥔 손을 바꿔야 하는 불편함이 있다. 이런 문제는 갤럭시 A15만의 문제는 아니며, 다른 고급형 스마트폰에서도 많이 경험했다. 지문 센서는 테스트 기간 동안 빠르고 안정적으로 적동했다. 화려하지는 않더라도 화면에 내장된 형태의 지문 센서보다는 낫다. 후면 패널은 일종의 먼지 생산 공장이다. 제품 사진을 찍기 위해 아무리 A15 뒷면을 닦아내도 먼지가 계속 쌓여 촬영하기 힘들었다. 물론 이런 문제는 케이스를 씌워 해결할 수 있지만, 필자가 리뷰한 다른 저가형 중국 휴대폰은 실리콘 케이스를 구매하지 않고도 기기를 먼지에서 보호한다. 삼섬이 기본 구성품에 케이스를 포함하지 않은 점이 아쉽다. 최신 스마트폰 대부분과 마찬가지로 갤럭시 A15는 손에 쥐었을 때 미끄럽다. 플라스틱 섀시는 충격에 취약하므로 케이스를 바로 구입하는 것을 추천한다. 좋은 나쁘든 패키지에 없는 또 다른 항목은 충전기다. A15 포트와 연결하는 USB-C 케이블만 포함되어 있다. 스마트폰의 USB-C 포트 옆에는 3.5mm 헤드폰 잭과 스피커가 하나 있다. 색상은 3가지로 출시됐다. 필자가 리뷰한 제품은 블루 블랙 색상이다. 먼지만 많이 묻지 않는다면 꽤 멋지다. 더 밝은 색상을 선호하는 사람이라면 블루와 옐로우, 라이트 블루를 마음에 들어 할 것이다. 이 가격대의 기기에서 예상할 수 있듯이 A15의 방수 등급은 없다. 따라서 기기가 물에 젖지 않도록 주의해야 한다. 화면 및 스피커 6.5인치 AMOLED 패널 90Hz 주사율 단일 스피커 및 3.5mm 헤드폰 잭 삼성 스마트폰은 디스플레이가 좋기로 유명하다. 갤럭시 A15는 적은 비용으로 훌륭한 품질의 디스플레이를 얻을 수 있는 좋은 예다. 6.5인치 AMOLED 패널은 선명한 색상과 충분한 밝기로 화장한 날에도 화면의 내용을 읽을 수 있을 만큼 훌륭하다. 비전 부스터(Vision Booster) 기능을 통해 최대 800니트의 밝기를 제공하며, 자동 밝기를 끈 일반 모드에서 패널의 밝기는 570니트다. 풀 HD+ 해상도(2340×1080)로 화면이 선명하며, 90Hz 주사율로 부드러운 스크롤이 가능하다. 하지만 A15에 탑재된 프로세서의 성능으로 인해 이미지가 많은 페이지에서 위아래로 스크롤할 때 약간의 버벅거림이 발생할 수 있다. 패널 자체의 화면 대 본체 비율은 84.3%이며, 하단 가장자리의 작은 턱과 상단의 물방울 노치가 디스플레이의 유일한 방해 요소다. A15만큼 저렴한 가격의 단말기치고는 멋진 디스플레이다. 필자는 A15의 디스플레이가 이 제품의 하이라이트라고 생각한다. 오디오는 하단 가장자리에 있는 하나의 스피커를 통해 제공된다. 꽤 인상적인 볼륨 레벨을 제공하며, 음성 콘텐츠는 최대 볼륨에서도 대부분의 충실도를 유지한다. 하지만 음악은 최대 볼륨에서 왜곡이 더 많이 발생하고 전반적인 균형이 한 방향으로 기울어진다. 팟캐스트나 오디오북을 듣는다면 출력에 만족하겠지만, 음악을 들을 때는 음량을 중간 정도로 설정하거나 3.5mm 헤드폰 잭을 사용해 괜찮은 스피커나 헤드폰을 연결하는 것을 추천한다. 성능 미디어텍 헤일로 G99 프로세서 4GB RAM 128GB 스토리지(마이크로SD 카드로 확장 가능) 일반적으로 이렇게 저렴한 휴대폰에서 스냅드래곤을 기대하기는 어렵다. 하지만 A15의 미디어텍 헤일로 G99는 여전히 일상적인 작업을 잘 처리할 수 있는 유능한 프로세서다. 위에서 언급한 것처럼 홈 화면에서 왼쪽으로 스와이프해 구글 디스커버(Google Discover) 피드를 스크롤할 때 화면에 그래픽 이미지가 많으면 끊김 현상이 발생한다. 앱은 상당히 빠르게 열리고 가끔씩 멈추는 정도고 사용 중에도 안정적으로 인터렉티브 기능을 유지한다. 필자는 A15로 아스팔트 9 레전드(Asphalt 9 Legends)를 원활하게 플레이했다. 시간이 조금 지났을 때 발열이 있기는 했다. 원신(Genshin Impact)과 같은 무거운 3D 게임만 피한다면 가벼운 게임 정도만 즐길 수 있는 데일리 스마트폰으로 완벽하다. 오늘날 스마트폰 사용 환경에서는 4GB RAM의 용량이 부족한 편이기 때문에 속도 저하가 발생할 가능성이 높다. 기본 저장 공간은 최소 128GB이며, 마이크로SD 카드를 사용하면 추가로 1TB의 저장 공간을 확보할 수 있다. 갤럭시 A15의 표준 벤치마크 테스트 결과는 다음과 같다. 네트워크 및 연결성 측면에서 A15는 4G 휴대폰이다. 더 빠른 셀룰러 연결을 선호할 경우 A15 5G를 구매할 수 있지만, 다른 요소가 대부분 동일하므로 추가 금액을 지불할 가치가 없을 수도 있다. 갤럭시 A15는 듀얼 SIM(나노), 와이파이 5, 블루투스 5.3, GPS 및 NFC를 모두 지원하므로 비접촉식 결제, 블루투스 헤드폰 연결, 길을 잃었을 때 길 찾기 등의 기능을 사용할 수 있다. 카메라 5,000만 화소 f/1.8 메인 카메라 500만 화소 초광각 카메라 200만 화소 심도 카메라 130만 화소 전면 카메라 A15에는 5,000만 화소 f/1.8 광각 메인 모듈과 500만 화소 초광각 및 200만 화소 심도 카메라가 탑재된 트리플 카메라 구성이다. 대부분 경우에는 메인 카메라를 사용하며, 빛이 많으면 꽤 괜찮은 사진을 찍을 수 있다. 하지만 소프트웨어가 부드러운 사진을 과도하게 선명하게 보정하는 것을 발견했다. 이로 인해 밝은 회색 영역이 센서를 혼동하거나 압도하는 것처럼 강한 콘트라스트 사진에서 하이라이트가 날아가는 현상이 발생할 수 있다. 그렇긴 하지만 피사체의 조명이 밝고 움직이지 않는다면 이 정도 가격대의 휴대폰으로는 일상에서 괜찮은 성능이다. 약간의 셔터 지연이 있어 움직이는 애완동물이나 아이를 촬영할 때 원하는 장면을 포착하지 못할 수도 있다. 삼성 스마트폰은 매크로, 야간, 파노라마 등 다양한 특수 모드를 지원하며, 이런 모드는 재미있게 사용할 수 있다. 야간 모드에서는 약간의 노이즈와 과도한 처리가 발생하고 매크로는 매우 불안정했다. 일부 사진을 찍을 수는 있지만, 최상의 결과를 얻으려면 기본 카메라를 사용하는 것이 좋다. 동영상은 1080p 및 30fps에서 최고로 재생되며, 영상은 초점과 빛의 대비를 적절히 조절한다. 여기저기서 프레임이 약간 떨어지고 저조도 성능이 좋지 않으므로 필름 느와르 서사시를 만들 계획이 아니라면 용도에 맞게 사용할 수 있다. 1,300만 화소 전명 카메라는 표준 셀카 모듈로, 동영상(1080p/30fps)을 사용하는 경우 소셜 미디어 게시물과 가끔 인스타그램 스토리에 사용하기에는 충분한 화질을 제공한다. 다음은 A15로 촬영한 사진이다. 배터리 수명 및 충전 5,000mAh 배터리 25W 충전 지원 오래 가는 배터리 삼성은 올해 출시한 모든 휴대폰에 5,000mAh 대용량 배터리를 탑재했다. A15도 마찬가지다. 충전기를 찾아야하는 번거로움을 덜어주는 인상적인 수치를 보여줬기 때문에 좋은 점이다. 테스트 기간 동안 매일 밤 잠자리에 들 때까지 기기의 배터리가 충분히 유지됐다. 밝은 햇빛 아래에서 하루 종일 사용하거나 그래픽이 많이 필요한 게임을 플레이하지 않는다면 대부분 사람은 이틀 정도는 충분히 사용할 것이다. PC마크(PCMark)의 안드로이드용 배터리 테스트에서 A15는 15시간 15분이라는 매우 인상적인 수치를 기록했다. 충전 시간이 느린 편이라 다행이다. 앞서 언급했듯이 A15는 충전 어뎁터가 제공되지 않기 때문에 25W 고속 충전(2024년 기준으로는 빠르지 않음)을 지원하더라도 충전할 수 있는 도구가 없을 수 있다. 무선 충전도 지원하지 않지만, 이런 가격대의 스마트폰이라면 문제가 되지 않는다. A15는 배터리가 방전된 상태에서 15분 만에 22%, 30분 후 44%로 회복됐지만, 100% 충전되기까지는 1시간 30분이 넘게 소요됐다. 물론 25W를 공급하는 충전기가 없다면 속도가 더 느려질 것이다. 호기심에 대부분 사람이 집에 가지고 있는 표준 18W 충전기로 다시 테스트를 시도했더니 결과가 매우 달랐는데, 15분 후 11%, 30분 후 19%, 완전 충전되기까지는 무려 2시간 40분이 걸렸다. 소프트웨어 및 앱 안드로이드 14 원 UI 보안 업데이트 5년 보증 안드로이드 14는 갤럭시 A15의 기반이 되는 OS다. 안드로이드 14를 기반으로 삼성 원 UI(One UI)가 실행된다. 삼성 사용자라면 누구나 익숙할 것이며, 수년에 걸쳐 스마트하고 간소화된 인터페이스를 제공하기 위해 확실히 깔끔하게 정리됐다. 삼성의 도구 도음과 앱 측면에서 상당히 많은 중복이 있지만, 심각한 수준은 아니다. 사전 설치된 서드파티 앱은 소수에 불과하며, 모두 쉽게 삭제할 수 있다. 저렴한 휴대폰치고 놀랍게도 삼성은 최대 4회의 OS 업데이트를 지원한다. 이를 통해 사용자는 최대 5년 동안 보안 업데이트를 제공받으며, 안드로이드 18까지 사용할 수 있다. 즉, 기기의 수명은 약 6년이다. 갤럭시 A15, 구매해야 할까? 갤럭시 A 시리즈는 항상 새로운 스마트폰을 구입하는 비용 효율적인 방법이며, A15에서도 변하지 않는다. 삼성 홈페이지에서 4G 모델은 169파운드(약 28만 원), 5G 모델은 199파운드(약 33만 5,000원)에 구매할 수 있다. 오늘날 스마트폰은 가격 대비 많은 것을 제공한다. 삼성 갤럭시 A15가 그 증거다. 뛰어난 배터리 수명은 말할 것도 없고 뛰어난 디스플레이와 확장할 수 있는 충분한 저장 용량을 갖추고 있다. 성능은 괜찮지만, 때때로 끊김 현상이 발생하고 카메라 셔터 지연이 거슬릴 수 있다. 카메라 자체는 A15의 약점이지만, 괜찮다. 업무용 또는 백업용으로 사용할 저렴한 스마트폰을 구매하려고 하거나 전화 통화, 웹 서핑, 온라인 쇼핑 정도의 용도로만 사용할 휴대폰이 필요한데 단말기에 많은 돈을 쓰고 싶지 않는 사람에게 갤럭시 A15는 매우 현명한 선택이다. 세부 사양 안드로이드 14/삼성 UI 원 6.5인치 풀 HD+ AMOLED 디스플레이 90Hz 주사율 2.2Ghz 미디어텍 헤일로 G99 프로세서 4GB RAM 128GB 스토리지(마이크로SD로 1TB 확장 가능) 5,000만 화소 f/1.8 메인 카메라 500만 화소 f/2.2 초광각 카메라 200만 화소 f/2.4 심도 카메라 단일 스피커 3.5mm 헤드폰 잭 전원 버튼에 손가락 인식기 내장 USB-C 충전 포트 5,000mAh 배터리 25W 충전 지원 160.1×76.8×8.4mm 200g editor@itworld.co.kr
프로미스(promise)는 자바스크립트에서 비동기 코드를 처리하기 위한 핵심 메커니즘이다. 프로미스는 많은 자바스크립트 라이브러리와 프레임워크에서 작업 결과를 관리하는 데 사용된다. fetch() API가 프로미스의 한 예다. 개발자에 따라서는 기존 제품을 벗어나 프로미스를 만들고 사용하는 데 익숙하지 않을 수 있지만, 생각보다 간단하다. 프로미스를 만드는 방법을 익히면 라이브러리에서 프로미스가 어떻게 사용되는지 이해하는 데 도움이 된다. 또한 강력한 비동기 프로그래밍 메커니즘을 활용할 수 있다. 프로미스를 사용한 비동기 프로그래밍 다음 예제에서는 Promise를 사용해서 네트워크 작업의 결과를 처리한다. 네트워크 호출 대신 타임아웃을 사용한다. function fetchData() { return new Promise((resolve, reject) => { setTimeout(() => { const data = "This is the fetched data!"; resolve(data); }, 2000); }); } const promise = fetchData(); promise.then((data) => { console.log("This will print second:", data); }); console.log("This will print first."); 코드에서 Promise를 반환하는 fetchData() 함수를 정의하고, 메서드를 호출하고 promise 변수에 Promise를 저장한다. 그런 다음 Promise.then() 메서드를 사용해 결과를 처리한다. 이 예제의 핵심은 fetchData() 호출이 코드 흐름에서 즉시 발생한다는 점이다. 반면 then()으로 전달된 콜백은 비동기 작업이 완료된 후에 발생한다. fetchData()가 Promise 객체를 정의하고 이 객체가 resolve와 reject, 두 개의 인수가 있는 함수를 받는 것을 볼 수 있다. Promise가 성공하면 resolve를 호출하고 문제가 있으면 reject를 호출한다. 예제에서는 resolve를 호출하고 문자열을 반환해서 네트워크 호출의 결과를 시뮬레이션한다. 다음과 같이 Promise가 호출돼 직접 처리되는 경우가 많다. fetchData().then((data) => { console.log("This will print second:", data); }); 이제 오류에 대해 알아보자. 예제에서 다음과 같이 오류 조건을 시뮬레이션할 수 있다. function fetchData() { return new Promise((resolve, reject) => { setTimeout(() => { if (Math.random() < 0.5) { reject("An error occurred while fetching data!"); } else { const data = "This is the fetched data!"; resolve(data); } }, 2000); }); } 이 코드의 프로미스는 대략 절반 정도는 reject()를 호출하면서 오류가 발생한다. 실제 애플리케이션에서 네트워크 호출이 실패하거나 서버가 오류를 반환하는 경우 발생할 수 있는 상황이다. fetchData() 호출 시의 실패 가능성에 대처하기 위해 다음과 같이 catch()를 사용한다. fetchData().then((data) => { console.log("That was a good one:", data); }).catch((error) => { console.log("That was an error:", error) }); 이 코드를 여러 번 실행하면 어느 때는 오류가 발생하고 어느 때는 성공할 것이다. 대체로 이 방법은 비동기 동작을 설명한 다음 소비하는 간단한 방법이다. 자바스크립트의 프로미스 체인 프로미스의 대표적인 이점은 체인으로 연결할 수 있다는 것이다. 이렇게 하면 깊이 중첩된 콜백을 피하고 중첩된 비동기 오류 처리를 간소화하는 데 도움이 된다. (여기서 옛날 방식의, 인수-콜백이 있는 자바스크립트 함수를 보여줘서 시끄럽게 만들지는 않겠다. 난장판이 될 것이 뻔하다.) fetchData() 함수를 그대로 둔 채 processData() 함수를 추가한다. processData() 함수는 fetchData()의 결과에 의존한다. 이제 fetchData()의 반환 호출 내에 처리 로직을 래핑할 수 있지만, 프로미스를 사용하면 다음과 같이 훨씬 더 깔끔하게 가능하다. function processData(data) { return new Promise((resolve, reject) => { setTimeout(() => { const processedData = data + " - Processed"; resolve(processedData); }, 1000); }); } fetchData() .then((data) => { console.log("Fetched data:", data); return processData(data); }) .then((processedData) => { console.log("Processed data:", processedData); }) .catch((error) => { console.error("Error:", error); }); 이 코드를 여러 번 실행하면 fetchData()가 성공할 때 두 then() 메서드가 모두 올바르게 호출됨을 볼 수 있을 것이다. fetchData()가 실패하는 경우 전체 체인이 단절되고 최종 catch()가 호출된다. try/catch 블록의 작동 방식과 비슷하다. catch()를 첫 번째 then() 뒤에 둔다면 fetchData() 오류만 처리할 것이다. 여기서 catch()는 fetchData()와 processData() 오류를 모두 처리한다. 핵심은 fetchData()의 then() 핸들러가 processData(data)의 프로미스를 반환한다는 것이다. 이를 통해 체인으로 연결할 수 있게 된다. 무조건 실행 : Promise.finally() try/catch가 finally()를 제공하듯이 Promise.finally()는 프로미스 체인에서 무슨 일이 발생하든 상관없이 실행된다. fetchData() .then((data) => { console.log("Fetched data:", data); return processData(data); }) .then((processedData) => { console.log("Processed data:", processedData); }) .catch((error) => { console.error("Error:", error); }) .finally(() => { console.log("Cleaning up."); }) finally()는 어떤 상황에서도 해야 할 일이 있는 경우 유용하다(예를 들어 연결 닫기). 빠른 실패 : Promise.all() 이제 여러 호출을 동시에 해야 하는 상황을 생각해보자. 예를 들어 2개의 네트워크 호출을 해야 하고, 둘 모두의 결과가 필요한 경우가 있다. 둘 중 하나라도 실패하면 전체 작업이 실패하도록 하고자 한다. 위의 체인 방법도 가능할 수 있지만 하나의 요청이 끝나야 다음 요청을 시작할 수 있으므로 이 상황에는 이상적이지 않다. 그 대신 Promise.all()을 사용할 수 있다. Promise.all([fetchData(), fetchOtherData()]) .then((data) => { // data is an array console.log("Fetched all data:", data); }) .catch((error) => { console.error("An error occurred with Promise.all:", error); }); 자바스크립트는 싱글 스레드이므로 이런 작업은 진정한 의미의 동시 작업은 아니지만, 동시성에 훨씬 더 가까워진다. 특히 자바스크립트 엔진은 하나의 요청을 시작하고, 이 요청이 아직 처리되는 사이에 다른 요청을 시작할 수 있다. 자바스크립트에서 병렬 실행에 최대한 근접할 수 있는 방법이다. Promise.all()에 전달된 프로미스 중 하나라도 실패하면 전체 실행이 중단되며 제공된 catch()로 이동한다. Promise.all()은 이런 방식으로 "빠르게 실패"한다. finally()를 Promise.all()과 함께 사용할 수도 있다. 이는 프로미스 집합이 어떤 식으로 진행되든 관계없이 실행되면서 예상대로 작동한다. then() 메서드에서는 배열을 받게 된다. 각 요소는 전달된 프로미스에 해당한다. Promise.all([fetchData(), fetchData2()]) .then((data) => { console.log("FetchData() = " + data[0] + " fetchMoreData() = " + data[1] ); }) 가장 빠른 것이 승리 : Promise.race() 여러 비동기 작업이 있는데 그 중에서 첫 번째 작업만 성공하면 되는 경우가 있다. 중복되는 두 개의 서비스 중에서 더 빠른 서비스를 사용하고자 하는 경우가 여기에 해당한다. 예를 들어 fetchData()와 fetchSameData()가 동일한 정보를 요청하는 2가지 방법이고, 둘 다 프로미스를 반환한다고 가정해 보자. race()를 사용해서 이를 관리하는 방법은 다음과 같다. Promise.race([fetchData(), fetchSameData()]) .then((data) => { console.log("First data received:", data); }); 여기서 then() 콜백은 데이터에 대해 하나의 값, 즉 승리하는(가장 빠른) Promise의 반환 값만 받는다. race()에서는 오류가 약간 복잡하다. 거부된 Promise가 먼저 발생하는 경우 전체 경주가 끝나고 catch()가 호출된다. 거부된 프로미스가 다른 프로미스가 해결된 후에 발생한다면 오류는 무시된다. 문제를 하나 낸다. 오류가 무시되고 첫 번째 성공한 작업만 승리하도록 Promise.race()를 구성하려면 어떻게 해야 할까? 전부 또는 전무 : Promise.allSettled() 성공하든 실패하든 비동기 작업 모음이 모두 완료될 때까지 기다리려면 allSettled()를 사용하면 된다. 예를 들면 다음과 같다. Promise.allSettled([fetchData(), fetchMoreData()]).then((results) => results.forEach((result) => console.log(result.status)), ); then() 핸들러로 전달된 results인수에는 다음과 같이 작업의 결과를 기술하는 배열이 저장된다. [0: {status: 'fulfilled', value: "This is the fetched data!"}, 1: {status: 'rejected', reason: undefined}] 따라서 상태 필드는 fulfilled 또는 rejected가 된다. fulfilled(해결됨)인 경우 값에는 resolve()에 의해 호출된 인수가 저장된다. 거부된 프로미스는 reason 필드에 오류 원인을 넣는다(제공된 경우). 예고 : Promise.withResolvers() 와 함께 선언할 수 있다. 결론 프로미스는 자바스크립트의 중요하면서 유용한 부분이다. 다양한 비동기 프로그래밍 상황에 맞는 툴을 제공하며, 써드 파티 프레임워크와 라이브러리를 사용할 때 항상 등장한다. 이 글에서 다룬 요소는 모두 고수준 구성요소이므로 간단히 이해할 수 있는 API다. editor@itworld.co.kr
파이썬 애플리케이션의 공통적인 문제는 다른 사람들과 앱을 공유할 방법이다. 개발자들은 이 문제를 해결하기 위해 웹 인터페이스를 사용해서 UI를 통해 앱 기능을 제공하는 경우가 많다. 그러나 이 방법은 애플리케이션 UI가 웹 구성요소와 자연스럽게 맞을 때 가장 효과적이다. 예를 들어 데이터 탐색 앱은 이와 같은 방식으로 작동할 수 있지만, 이상적인 상호작용을 위해서는 프론트엔드 구성요소가 자바스크립트로 작성돼 있어야 한다. 스트림릿(Streamlit)은 이와 같은 많은 문제를 동시에 해결하는 것을 목표로 하는 파이썬 라이브러리다. 개발자는 스트림릿을 사용해서 풍부한 인터랙티브 구성요소 라이브러리를 기반으로 구축된 웹 기반 프론트엔드를 갖춘 파이썬 앱을 만들 수 있다. 그렇게 만들어진 애플리케이션은 파이썬 웹 앱이 있는 어디에나 호스팅할 수 있다. 무엇보다 좋은 점은 좋은 결과를 얻기 위해 반드시 HTML, 자바스크립트 또는 CSS에 대해 알 필요는 없다는 것이다. 스트림릿의 메서드와 클래스를 사용하는 파이썬 코드를 작성하기만 하면 된다. 간단한 스트림릿 예제 스트림릿 프로그램은 선언적 스타일로 작성된다. 객체는 코드에서 선언된 순서대로 웹 페이지에 나타난다. 구성요소와의 상호작용이 발생할 때마다 프로그램이 위에서부터 아래로 다시 실행되면서 웹 페이지를 다시 로드해 변경 사항을 반영한다. 다음과 같은 간단한 스트림릿 앱 예제를 살펴보자. import streamlit as st st.title("Take input from the user") user_input = st.text_input("Say something:") if user_input: st.write("You said:", user_input) 스트림릿으로 이 코드를 실행할 경우(streamlit run 명령 사용) 결과는 다음과 같다. 'Take input from the user'라는 제목의 웹페이지가 나타난다. 그 아래에 'Say something:'이라는 레이블이 붙은 텍스트 상자가 나타난다. 사용자가 이 텍스트 상자에 뭔가를 입력하고 Enter를 누르면 'You said:'라는 레이블의 텍스트 상자 아래에 사용자가 입력한 내용이 표시된다. 이러한 HTML 위젯과 모든 위젯 동작은 스트림릿에 의해 자동으로 생성되고 관리된다. 여기에는 앱 상태가 포함된다(예를 들어 user_input 상자에서 if 문은 사용자가 뭔가를 입력할 때만 실행됨). 스트림릿에서는 아래 예제보다 훨씬 더 많은 HTML 구성요소를 사용할 수 있다. 라텍스(LaTex) 형식 텍스트, 보케(Bokeh) 차트, 카메라 입력, 그 외에도 많은 구성요소가 네이티브로 제공된다. 더 복잡한 스트림릿 예제 더 복잡한 스트림릿 애플리케이션으로는 스트림릿 문서의 예제가 있다. 이 앱은 시간별로 그룹화된 맨해튼의 우버 승차 및 하차 지점 일반 데이터 집합을 로드한 다음 막대형 차트에 시간을 표시하고 인터랙티브 지도에 위치를 표시한다. 전체 프로그램 길이는 약 30줄에 불과하다. 워낙 짧아서 복사한 다음 파일에 붙여넣고 직접 실행할 수 있다. 스트림릿이 다양한 작업을 수행하는 방식을 보여주는 용도로도 좋은 앱이다. 스트림릿 앱의 데이터 스트림릿은 데이터 소스를 쉽게 다루기 위한 많은 네이티브 동작을 제공하며 데이터 로드 및 작업을 위한 주 형식으로 데이터프레임을 사용한다. 다른 파이썬 프로젝트에서 사용할 수 있는 모든 소스에서 데이터를 로드할 수 있으며, 이 과정을 돕기 위한 편의 기능도 제공된다. 예를 들어 이전 섹션에서 다룬 데이터 시각화 앱은 판다스(Pandas)를 사용해 원격 URL에서 CSV 파일을 로드하고 데이터프레임으로 변환한다. 데이터 로드와 형식 설정은 편리하지만 특히 네트워크 연결을 통해 로드하는 경우 속도가 느리고 많은 시간이 걸릴 수 있다. 또한 이 프로그램은 사용자가 동작을 수행한 후 매번 다시 로드된다. 스트림릿은 이 문제를 해소하기 위해 load_data() 함수를 래핑하는 데 사용되는 @st.cache_data 데코레이터를 제공한다. 또한 @st.cache_data는 애플리케이션이 여러 번 다시 로드되는 사이 데이터를 캐시하므로 처음 실행할 때만 로드된다. 스트림릿 앱의 상태 관리 스트림릿은 설계상 각 사용자 상호작용마다 애플리케이션이 강제로 다시 로드되므로 스트림릿 앱에서 지속적인 상태를 유지하기가 간단치 않을 수 있다. 텍스트 박스의 데이터가 실행 간 상태를 어떻게 처리하는지는 앞에서 살펴봤다. 개별 컨트롤의 상태와는 별개로 상태를 만들고 관리하려면 스트림릿의 내장된 session_state 객체를 사용해야 한다. streamlit.session_state는 여러 실행 간에 지속되는 키-값 저장소다(실질적으로 사전). 스트림릿 프로그램이 처음 시작될 때 이 저장소는 빈 상태이므로 액세스하기 전에 키가 있는지 여부를 테스트해야 한다. import streamlit as st # create the key "sayings" if it doesn't exist if 'sayings' not in st.session_state: st.session_state['sayings'] = [] # for convenience, make a reference sayings = st.session_state['sayings'] st.title("Take input from the user") user_input = st.text_input("Say something:") if sayings: # display "sayings" if it has inputs from previous runs st.write("You previously said:", sayings) if user_input: # add to "sayings" if we get an input sayings.append(user_input) st.write("You said:", user_input) 참고로 session_state에 저장되는 모든 데이터는 해당 애플리케이션을 실행하는 스트림릿 서버의 수명 동안만 지속된다. 서버가 멈추면 데이터는 손실된다. 더 적극적으로 지속되는 데이터를 원한다면 데이터베이스 또는 레디스와 같은 인메모리 캐시 등의 솔루션이 필요하다. 스트림릿 앱을 위한 데이터 위젯 지금까지 스트림릿 페이지에서 구현 가능한 다양한 요소로 간단한 텍스트 레이블 또는 HTML 컨트롤부터 지도, 차트, 오디오/비디오 재생과 같은 더 정교한 요소, 그리고 채팅 상자와 같은 고급 상호작용(예를 들어 LLM과의 상호작용 용도)까지 살펴봤다. 데이터 표시 또는 상호작용을 위한 스트림릿 컨트롤은 가장 일반적인 사용 사례를 위한 데이터 렌더링을 처리하도록 이미 사전 설정돼 있다. 예를 들어 스트림릿 웹 위젯은 데이터프레임을 소스로 사용할 수 있고 데이터프레임을 적절한 열 레이블과 함께 자동으로 표시하므로 수동으로 이를 추가할 필요가 없다. 스트림릿에는 폭넓은 일반적인 데이터 위젯 라이브러리가 기본적으로 포함된다. 사용자 커뮤니티에는 더 많은 구성요소가 만들어져 공유되며, 간단한 pip install을 통해 사용할 수 있다. 스트림릿 앱 배포 스트림릿 애플리케이션은 본질적으로 파이썬 웹 애플리케이션이므로 네트워크로 연결된 파이썬 앱과 거의 같은 방식으로 배포할 수 있다. 빠르고 간편한 방법은 컴퓨터에서 앱을 실행하고 할당된 포트를 통해 앱에 대한 액세스 권한을 제공하는 것이다. 고급 배포 역시 다른 파이썬 웹 앱과 동일한 패턴을 따른다. 즉, 도커, 쿠버네티스 또는 다양한 일반적인 클라우드 서비스를 사용하는 것이다. AWS와 마이크로소프트 애저의 스노우플레이크 사용자는 스노우플레이크 데이터 저장소를 기반으로 하는 스트림릿 앱을 배포할 수도 있다. 마지막으로, 스트림릿은 자체적인 커뮤니티 클라우드(Community Cloud) 호스팅 서비스를 제공한다. 다만 이는 스트림릿 앱을 위한 편의 기능일 뿐 필수 항목은 아니다. editor@itworld.co.kr
로컬 임베딩 모델과 로컬 LLM을 사용해 검색 증강 생성 시스템의 완전한 로컬 버전을 구축해 본다. 이전 기사와 마찬가지로 랭체인(LangChain)을 사용해 애플리케이션의 다양한 구성요소를 연결한다. FAISS(페이스북 AI 유사성 검색) 대신 SQLite-vss를 사용해 벡터 데이터를 저장한다. SQLite-vss는 친숙한 SQLite에 유사성 검색을 가능하게 해주는 확장이 추가된 것이다. 텍스트에 대한 유사성 검색은 임베딩을 사용해서 의미(또는 의미체계)에 대한 최적 매칭을 수행한다. 임베딩은 벡터 공간에서 단어나 구를 숫자로 표현한 것이다. 벡터 공간에서 두 임베딩 사이의 거리가 가까울수록 두 단어 또는 구의 의미도 더 비슷하다. 따라서 자체 문서를 LLM에 제공하려면 먼저 문서를 LLM이 입력으로 받을 수 있는 유일한 원시 재료인 임베딩으로 변환해야 한다. 임베딩을 로컬 벡터 저장소에 저장한 다음 이 벡터 스토어를 LLM과 통합한다. LLM은 라마 2(Llama 2)를 사용하는데, 올라마(Ollama)라는 앱을 사용해서 로컬로 실행한다. 올라마는 맥OS와 리눅스, 윈도우(프리뷰)용으로 나와 있다. 올라마 설치에 대해서는 이 인포월드 기사에서 읽어볼 수 있다. 간단한 완전 로컬 RAG 시스템을 구축하기 위해 필요한 구성요소 목록은 다음과 같다. 문서 코퍼스. 여기서는 바이든 대통령의 2023년 2월 7일 연두 교서 텍스트가 포함된 하나의 문서만 사용한다. 텍스트는 아래 링크에서 다운로드할 수 있다. 문서 로더. 문서에서 텍스트를 추출해 임베딩을 생성하기 위한 청크로 전처리하는 코드. 임베딩 모델. 전처리된 문서 청크를 입력으로 받아서 임베딩(문서 청크를 표현하는 일련의 벡터)을 출력하는 모델. 검색을 위한 인덱스가 있는 로컬 벡터 데이터 저장소 지시에 따르고 자체 시스템에서 실행되도록 조정된 LLM. 시스템은 데스크톱, 노트북 또는 클라우드의 VM도 된다. 예제에서는 필자의 맥에 설치된 올라마에서 실행되는 라마 2 모델을 사용한다. 질문을 위한 채팅 템플릿. 이 템플릿은 LLM이 사람이 이해하는 형식으로 응답할 수 있도록 하기 위한 틀을 만든다. 이제 코드를 보자. 주석에 부가적인 설명이 포함돼 있다. 바이든 대통령의 2023년 2월 7일 연두 교서 텍스트 파일 완전 로컬 RAG 예제 – 검색 코드 # LocalRAG.py # LangChain is a framework and toolkit for interacting with LLMs programmatically from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings from langchain.text_splitter import CharacterTextSplitter from langchain.vectorstores import SQLiteVSS from langchain.document_loaders import TextLoader # Load the document using a LangChain text loader loader = TextLoader("./sotu2023.txt") documents = loader.load() # Split the document into chunks text_splitter = CharacterTextSplitter (chunk_size=1000, chunk_overlap=0) docs = text_splitter.split_documents(documents) texts = [doc.page_content for doc in docs] # Use the sentence transformer package with the all-MiniLM-L6-v2 embedding model embedding_function = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2") # Load the text embeddings in SQLiteVSS in a table named state_union db = SQLiteVSS.from_texts( texts = texts, embedding = embedding_function, table = "state_union", db_file = "/tmp/vss.db" ) # First, we will do a simple retrieval using similarity search # Query question = "What did the president say about Nancy Pelosi?" data = db.similarity_search(question) # print results print(data[0].page_content) 완전 로컬 RAG 예제 – 검색 출력 Mr. Speaker. Madam Vice President. Our First Lady and Second Gentleman. Members of Congress and the Cabinet. Leaders of our military. Mr. Chief Justice, Associate Justices, and retired Justices of the Supreme Court. And you, my fellow Americans. I start tonight by congratulating the members of the 118th Congress and the new Speaker of the House, Kevin McCarthy. Mr. Speaker, I look forward to working together. I also want to congratulate the new leader of the House Democrats and the first Black House Minority Leader in history, Hakeem Jeffries. Congratulations to the longest serving Senate Leader in history, Mitch McConnell. And congratulations to Chuck Schumer for another term as Senate Majority Leader, this time with an even bigger majority. And I want to give special recognition to someone who I think will be considered the greatest Speaker in the history of this country, Nancy Pelosi. 결과에는 쿼리와 관련된 텍스트 청크가 문자 그대로 포함된다. 벡터 데이터베이스의 유사성 검색에 의해 반환된 것이지만 쿼리에 대한 답은 아니다. 쿼리에 대한 답은 출력의 마지막 줄이고, 나머지는 이 답을 위한 컨텍스트다. 벡터 데이터베이스에서 원시 유사성 검색을 하는 경우에는 문서의 청크만 결과로 받게 된다. 질문의 성격과 범위에 따라 두 개 이상의 청크가 표시되는 경우가 많은데, 예제 질문은 범위가 좁은 편이고 텍스트에 낸시 펠로시에 대한 언급은 한 번만 있으므로 여기서는 하나의 청크만 반환됐다. 이제 LLM을 사용해서 유사성 검색에서 받은 텍스트 청크를 흡수해 쿼리에 대한 간결한 답을 생성해 보자. 다음 코드를 실행하려면 먼저 올라마를 설치하고 llama2:7b 모델을 다운로드해야 한다. 참고로 맥OS와 리눅스에서 올라마는 사용자 홈 디렉터리의 .ollama 하위 디렉터리에 모델을 저장한다. 완전 로컬 RAG – 쿼리 코드 # LLM from langchain.llms import Ollama from langchain.callbacks.manager import CallbackManager from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler llm = Ollama( model = "llama2:7b", verbose = True, callback_manager = CallbackManager([StreamingStdOutCallbackHandler()]), ) # QA chain from langchain.chains import RetrievalQA from langchain import hub # LangChain Hub is a repository of LangChain prompts shared by the community QA_CHAIN_PROMPT = hub.pull("rlm/rag-prompt-llama") qa_chain = RetrievalQA.from_chain_type( llm, # we create a retriever to interact with the db using an augmented context retriever = db.as_retriever(), chain_type_kwargs = {"prompt": QA_CHAIN_PROMPT}, ) result = qa_chain({"query": question}) 완전 로컬 RAG 예제 – 쿼리 출력 In the retrieved context, President Biden refers to Nancy Pelosi as "someone who I think will be considered the greatest Speaker in the history of this country." This suggests that the President has a high opinion of Pelosi's leadership skills and accomplishments as Speaker of the House. 두 코드의 출력의 다른 것을 볼 수 있다. 첫 번째는 쿼리와 관련된 문서에서 문자 그대로 가져온 텍스트 청크이고, 두 번째는 쿼리에 대한 요약된 답변이다. 첫 번째의 경우 LLM을 사용하지 않고 벡터 저장소를 사용해서 문서에서 텍스트 청크만 검색했다. 두 번째에서는 LLM을 사용해서 쿼리에 대한 간결한 답을 생성했다. 실제 애플리케이션에서 RAG를 사용하려면 PDF, DOCX, RTF, XLSX, PPTX와 같은 여러 문서 형식을 가져와야 한다. (LlamaIndex: LLM 애플리케이션을 구축하는 데 많이 사용되는 또 다른 프레임워크) 모두 다양한 문서 형식에 특화된 로더가 있다. FAISS와 SQLite-vss 외의 다른 벡터 저장소도 있다. 대규모 언어 모델 및 다른 생성형 AI 영역과 마찬가지로 벡터 데이터베이스 분야도 빠르게 발전하고 있다. 앞으로 후속 기사에서 이러한 모든 영역에서의 다른 옵션도 살펴볼 예정이다. editor@itworld.co.kr
아이폰 벨소리를 맞춤 지정하면 나만의 개성을 더할 수 있다. 사용자 지정 벨소리를 만드는 방법은 여러 가지가 있지만, 아이폰에서 게라지밴드나 아이튠즈를 사용하는 것이 편리하다. 무료인 데다 만드는 데 몇 분밖에 걸리지 않는다. 노래나 기타 오디오 파일을 이용해 나만의 아이폰 벨소리를 만드는 방법을 단계별로 살펴보자. 단, 애플 뮤직이나 기타 스트리밍 서비스의 노래는 보호돼 있어 사용할 수 없다. 첫 번째 방법은 아이폰에서 직접 벨소리를 만드는 것이다. 맥/PC에서 음악을 가져오는 것을 선호한다면 이어서 설명하는 아이튠즈를 이용한 두 번째 방법을 참고하면 된다. 게라지밴드를 사용해 아이폰 벨소리 만들기 1. 게라지밴드 설치 및 열기 아이폰에서 게라지밴드 앱을 연다. 아직 설치하지 않았다면 앱스토어에서 내려받는다. 2. 새 프로젝트 만들기 오른쪽 위의 "+" 아이콘을 탭 해 새 프로젝트를 시작한다. 그런 다음 스와이프해 악기를 선택한다. 어느 것이든 상관없다. 키보드가 목록의 첫 번째 악기이므로 여기서는 키보드를 사용한다. 탭 해 연다. 3. 편집기 실행 왼쪽 위 모서리에 있는 세 번째 아이콘인 '편집기' 아이콘을 탭 한다. 4. 루프 아이콘 선택 오른쪽 위 모서리에 있는 루프 아이콘을 탭 한다. 5. 음악 탭으로 이동 게라지밴드는 루프를 가져오도록 설정돼 있지만 노래로 가져올 수도 있다. 오른쪽 위의 '음악'을 탭 하면 아이폰에 이미 있는 노래를 볼 수 있다. 단, 애플 뮤직이나 다른 스트리밍 서비스의 노래는 보호되어 있으므로 사용할 수 없다. 대신 디지털 저작권 관리인 DRM이 없는 오디오 파일이 필요하다. 오디오 파일을 얻는 가장 간단한 방법은 유튜브 동영상에서 내려받는 것이다. '파일'을 탭 해 아이클라우드 또는 내부 저장소에 있는 노래로 이동해 벨소리로 사용할 수도 있다. 6. 노래 리스트 "음악"을 선택한 경우 "노래"를 탭 한다. 7. 노래 찾기 목록을 스크롤 하거나 아이폰에 있는 모든 음악에서 시작하는 문자를 탭 한다. 팟캐스트를 내려받은 경우 '노래'가 아니더라도 이 목록에 표시된다. 8. 노래를 게라지밴드로 드래그하기 '음악' 탭의 노래 또는 '파일' 탭의 파일을 게라지밴드 편집기로 가져오려면 해당 파일을 길게 탭 해야 한다. 첫 번째 키보드 트랙이 아닌 두 번째 트랙 아래로 끌어다 놓는다. 9. 노래 편집하기 노래를 가져오면 타임라인에 노란색 파형으로 나타난다. 파형의 끝부분을 드래그해 원하는 길이로 노래를 다듬는다. 아이폰 벨소리 최대 길이는 30초이므로 이보다 짧아야 한다. 10. 벨소리 저장하기 벨소리가 마음에 들면 왼쪽 위 모서리에 있는 화살표 아이콘을 탭 한다. 그런 다음 "내 노래"를 탭 해 벨소리를 저장한다. 이름을 지정하고 "저장"을 탭 한다. 11. 노래 내보내기 메뉴가 나타날 때까지 저장된 벨소리를 누르고 "공유"를 선택한다. 12. 벨소리 저장하기 "벨소리" 옵션을 탭 하기만 하면 된다. 벨소리가 아이폰의 설정으로 내보내진다. 13. 벨소리 이름 정하기 벨소리를 식별할 수 있도록 벨소리의 이름을 입력한다. 14. 노래를 벨소리로 설정하기 내보낸 후 "다른 이름으로 사운드 사용..."을 탭 한다. 15. 벨소리 유형 선택하기 옵션에서 "표준 벨소리"를 선택하는 것이 좋지만 "표준 텍스트 톤"으로 사용하거나 특정 연락처에 지정하면 누가 전화를 걸었는지 알 수 있다. 앞서 설명했듯이 '설정' 앱의 '소리 및 햅틱'에서 벨소리를 확인하고 원하는 경우 다른 앱의 벨소리로 설정할 수 있다. 아이튠즈로 아이폰 벨소리 만들기 두 번째 방법은 아이폰에서 게라지밴드를 사용하는 것만큼 간편하지는 않지만, 벨소리로 사용할 오디오 섹션을 훨씬 더 정확하게 지정할 수 있다. 이 방법은 윈도우와 맥 모두에서 사용할 수 있는 아이튠즈를 사용한다. 이 앱은 애플에서 직접 내려받을 수 있다. 1. 노래 준비하기 사용자 지정 벨소리를 만들려면 먼저 원하는 노래 또는 오디오 파일을 선택하고 컴퓨터의 아이튠즈 보관함으로 가져온다. 음성 메모 앱에 저장한 실제 소리나 녹음 파일을 사용할 수도 있다. 최신 아이튠즈 버전인지 확인한 다음 실행한다. "파일" > "라이브러리에 파일 추가" 또는 "라이브러리에 폴더 추가"로 이동해 파일을 가져온다. "라이브러리"에서 원하는 파일이 들어 있는 앨범을 선택하고 노래를 마우스 오른쪽 버튼으로 클릭한 다음 "노래 정보"를 선택해 계속 진행한다. 2. 벨소리로 사용할 부분 선택하기 전체 음악 중 벨소리로 사용할 곳을 지정하려면 "노래 정보" 창에서 "옵션" 탭을 연다. "시작" 및 "중지" 상자에 체크하고 벨소리로 정하려는 부분의 시작과 종료 시각을 입력한다. 벨소리 최대 길이는 30초라는 것을 주의하자. 더 정밀하게 선택하려면 0:44.5(44초 30초)와 같이 소수점을 사용해 특정 시간을 입력하면 된다. 0:44.652와 같이 천분의 1초 단위로 시간을 지정할 수도 있다. 설정이 완료되면 '확인'을 클릭해 창을 닫는다. 3. AAC 버전 만들기 원하는 시작 및 중지 시간을 설정한 후 노래를 다시 선택하고 "파일" 메뉴로 이동한다. "변환" > "AAC 버전 만들기"를 선택한다. 이제 지정된 시작 및 중지 시간 사이의 구간으로만 구성된 새로운 파일이 아이튠즈 보관함에 생성된다. 원본 노래에 앨범과 아티스트 정보가 태그로 입력된 경우 새로운 파일은 같은 앨범 내에 복제본으로 나타나고 오른쪽에 표시된 길이로 식별할 수 있다. 그러나 앨범, 아티스트, 노래 정보가 없는 경우 라이브러리에서 단일 노래가 포함된 새 앨범으로 표시된다. 여기서 'AAC 버전 만들기' 옵션을 사용할 수 없다면 CD 추출 설정이 잘못됐을 가능성이 높다. 이 문제를 해결하려면 "편집" 메뉴에서 "환경설정"을 선택한다. 다음으로 'CD 삽입 시' 옆에 있는 '가져오기 설정'을 클릭하고 '다음을 사용하여 가져오기:' 옆의 드롭다운 메뉴에서 "AAC 인코딩"을 선택한다. 4. 시작 및 중지 시간 재 설정하기 이제 원본 노래를 원래 설정으로 되돌리자. 원본 앨범에 접근하여 마우스 오른쪽 버튼을 클릭하고 '노래 정보'를 선택한 다음 '옵션' 탭으로 이동한다. "시작" 및 "중지" 시간을 선택 해제해 원래 값으로 복원하고 "확인"을 클릭한다. 이렇게 하면 나중에 재생할 때 트랙이 사용자 지정한 30초 내에서만 재생되지 않고 전체가 다 재생된다. 5. 새 AAC 파일 찾기 새로 만든 벨소리가 포함된 중복 트랙 또는 앨범을 찾는다. 앨범 내에서 노래를 마우스 오른쪽 버튼으로 클릭하고 "윈도우 탐색기에 표시" 또는 맥 사용자의 경우 "파인더에 표시"를 선택한다. 이제 확장자를 변경하기 위해 해당 파일 위치에 액세스할 수 있다. 6. 파일 확장자 바꾸기 파일을 찾으면 윈도우에서 파일이 강조 표시되고 이름이 "something.m4a"로 지정된다. 여기서 'something'은 노래의 이름이다. m4a 확장자가 보이지 않을 수 있다. 예를 들어 'ikson day off.m4a' 대신 'ikson day off'만 표시될 수 있다. 이는 윈도우가 확장자를 숨기도록 설정되어 있기 때문이다. 확장명을 표시하는 방법은 다음과 같다. 파일을 마우스 오른쪽 버튼으로 클릭하고 이름 바꾸기를 선택한다. 확장자를 m4a에서 m4r로 변경하고 'Return', 'Enter'를 누르거나 빈 영역을 클릭한다. 맥에서도 프로세스는 비슷하다. 이름을 변경한 후에는 변경에 관해 확인하는 메시지가 표시될 수 있다. 윈도우에서는 "예"를 클릭하고 맥에서는 ".m4r 사용"을 클릭한다. 윈도우에서 확장자가 숨겨져 있으면 단순히 .m4r을 추가하는 것만으로는 작동하지 않으니 주의해야 한다. 결과적으로 'ikson day off.m4r.m4a'가 되기 때문이다. 7. 벨소리 가져오기 및 동기화 아이튠즈 버전 12.7에서 "벨소리(Tone)" 섹션이 제거됨에 따라 사용자 지정 벨소리를 아이폰에 동기화하는 과정이 약간 바뀌었다. 방법은 다음과 같다. 라이트닝 케이블을 사용해 아이폰을 컴퓨터에 연결한다. 윈도우 10에서는 아이폰 화면에서 "이 컴퓨터 신뢰"를 탭 한다. 이전에 이 단계를 완료한 적이 없는데도 이 메시지가 표시되지 않으면 USB 케이블을 분리했다가 다시 연결해 보자. 휴대폰 암호를 입력해 컴퓨터의 신뢰를 확인한 아이튠즈에 휴대폰 아이콘이 나타날 때까지 기다린다. 몇 분 정도 소요될 수 있다. 아이튠즈에서 아이폰의 정보에 접근할 수 있는 권한을 요청하는 메시지가 나타날 수도 있다. "계속"을 클릭해 접근 권한을 부여한다. 아이튠즈의 왼쪽 열 '기기' 아래에서 아이폰을 찾는다. 클릭해 목록을 확장한 다음 "벨소리" 섹션을 찾는다. 사용자 지정 벨소리가 있으면 오른쪽에 나타나고, 그렇지 않으면 목록이 비어 있다. 파일 탐색기(윈도우) 또는 파인더(맥)로 전환하면 벨소리 파일을 선택한다. Ctrl+C(윈도우) 또는 Command+C(맥)를 눌러 파일을 복사한다. 아이튠즈로 돌아가서 "벨소리" 섹션이 선택되어 있는지 확인한 다음 "Ctrl+V"(윈도우) 또는 "Command+V"(맥)를 눌러 붙여 넣는다. 이제 목록에 해당 톤이 나타나고 몇 초 내에 자동으로 아이폰과 동기화된다. 맥을 사용하는데 '벨소리' 섹션에 벨소리 파일이 나타나지 않으면 다음과 같이 조처하면 된다. 아이튠즈 음악 보관함에서 벨소리 '노래' 항목을 삭제하고(하드 드라이브의 실제 파일은 삭제하지 않음) '파인더'에서 m4r 파일을 두 번 클릭해 '벨소리'에 추가한다. 이 방법이 통하지 않으면 m4r 파일을 데스크톱 등 하드 드라이브의 아이튠즈 폴더 외부로 옮긴 후 두 번 클릭해 '벨소리'에 추가한다. 8. 보관함에서 벨소리 제거하기 필수는 아니지만 방금 생성한 노래의 새 AAC 버전을 아이튠즈 음악 보관함에서 삭제하는 것이 좋다. 여러 벨소리가 저장돼 있으면 관리가 번거롭고 변경된 확장자로 인해 단일 트랙 앨범이 혼란스러울 수 있다. AAC 버전을 삭제하면 아이튠즈 보관함의 명확성을 유지하는 데 도움이 된다. 9. 새 벨소리로 벨소리 변경하기 새로 생성한 톤을 아이폰에서 벨소리로 설정하려면 "설정" 앱을 열고 "사운드 및 햅틱"으로 이동한 다음 "벨소리"를 선택한다. 목록에서 사용자 지정 벨소리를 선택한다. 문자 메시지 알림 또는 기타 알림음에 사용자 지정 벨소리를 사용할 수도 있다. 10. 벨소리를 알림 소리로 사용하기 다양한 알림에 대해 사용자 지정 벨소리를 설정하려면 '소리 및 햅틱'에서 '메시지 수신음'과 같이 사용자 지정하려는 알림 유형에 해당하는 섹션을 선택한다. 아래로 스크롤 해 '벨소리' 목록을 확인하면 상단에 사용자 지정 벨소리가 표시된다. 사용하려는 사용자 지정 벨소리를 선택한다. 지금까지 무료로 나만의 아이폰 벨소리를 만드는 방법을 살펴봤다. 게라지밴드로 만들었든 아이튠즈로 만들었든, 이제부터는 나만의 벨소리를 즐기면 된다. editor@itworld.co.kr
자바는 지난 몇 년에 걸쳐 여러 가지 큰 변화를 거쳤다. 특히 얼핏 무관해 보이는 여러 힘이 함께 작용하며 플랫폼의 사용 편의성을 더 높였다. 자동 컴파일, var 키워드와 같은 새로운 기능으로 초보자와 숙련자 모두 자바를 더 편하게 사용할 수 있게 됐다. 새롭고 더 친화적인 이번 자바에서 관심을 끄는 것은 무엇인지 살펴보자. 적어도 오랜 자바 사용자에게 현대 자바의 가장 놀라운 점은 var 지원이라고 할 수 있다. 자바의 대표적인 특징 중 하나는 강력한 형식 지정인데 var는 이것을 약간 느슨하게 풀어준다. 이제 메서드 내에서 컴파일러가 형식을 추적하는 var를 사용해 참조를 정의할 수 있다. 자바 개발자는 이 기능의 도입을 두고 불안에 떨었지만 정작 지원이 시작되자 그런 불안이 무색할 만큼, 마치 자바에 원래부터 있던 기능인 듯 아무렇지도 않게 받아들였다. var numbers = new ArrayList 원래는 없었던 기능이다! 숨겨진 컴파일 이 새로운 기능은 마치 소스 파일을 컴파일하지 않고 바로 실행하는 듯한 느낌을 주지만 실제 내부적으로는 복잡한 작업이 진행된다. .java 파일은 여전히 컴파일된다. JEP 330이 컴파일 과정을 숨기는 것이다. 따라서 이제 다음과 같이 할 수 있다. $ java HelloWorld.java 전에는 다음과 같이 했었다. $ javac HelloWorld.java $ java HelloWorld 러너는 메모리에서 소스를 컴파일하고, 발견하는 첫 번째 main 클래스를 실행한다. JEP 330은 하나의 소스 파일로 제한되지만 이게 끝이 아니다. JEP 458이 있기 때문이다. 여러 소스 파일의 자동 컴파일 JER 458도 JEP 330과 마찬가지로 개발자가 숨겨진 컴파일을 통해 여러 소스 파일을 실행할 수 있게 해준다. 자바 소스가 다른 소스를 참조하면 자바 런처가 메모리에서 종속성을 컴파일하고 로드해서 제공한다. 간단히 말해, 상호 연결된 여러 소스 파일이 디스크에 함께 존재하는 한 명시적인 컴파일 단계 없이 이러한 소스 파일의 프로그램 전체를 실행할 수 있다. 필자만 그렇게 느끼는 것인지 모르겠지만 자바가 더 동적인 언어로 발전해 나가는 것 같다. 아주 좋은 일이다. 향상된 빌드 툴체인 소개 문서에 따르면 JEP-458의 목표는 다음과 같다. 쉽게 설명하면, 자바는 더 나은 빌드를 통해 개발자의 일상을 더 편하게 해주는 방향으로 나아가고 있다. JEP는 "소스 코드 프로그램에서 외부 라이브러리 종속성을 더 쉽게 사용할 수 있도록 하는 것은 목표가 아니다"라고까지 설명한다. 다만 필자 개인적으로는 향후 JEP에서 이 부분을 다룰 수도 있다고 생각한다. 자바 개발진이 툴을 더 사용하기 쉽도록 하기 위해 노력 중이라는 점은 필자도 이해한다. (마침내 종속성 수준까지!) 필자는 복잡한 프로젝트를 위한 빌드 툴로는 15년 전부터 지금까지 여전히 메이븐을 선택하지만, 이 툴은 뚜렷한 노후화 조짐을 보이고 있다. (메이븐의 새 archetype 프로젝트는 기본값으로 자바 1.7을 선택한다!) NPM에 비하면 메이븐은 말 그대로 투박해서, 특히 자바를 배우는 동시에 빌드 툴도 익혀야 하는 초보자에게는 프로젝트를 빠르게 시작하는 데 실제로 장애물이 된다. 플랫폼에서 정하는 종속성 관리자가 정답이 될 수 있다. JEP 330과 JEP 458을 함께 놓고 보면 툴 사용성을 위한 단편적인 미봉책이 아니라 플랫폼 내 통합 툴체인을 신중하게 내놓고 있는 모습이다. 프로젝트를 쉽게 시작하고 필요에 따라 더 정교한 툴을 점진적으로 도입할 수 있게 해주는 자바 툴체인이 새롭게 등장하고 있다. JShell 물론 JShell은 나오고 꽤 오랜 시간이 지났지만 자바에서 REPL 스타일의 러너가 있다는 것이 얼마나 좋은지 짚고 넘어가도록 하자. JShell을 사용해서 새로운 아이디어를 즉석에서 시험해볼 수 있다는 점을 기억하라. 심플 웹 서버 어느 날 자고 일어났더니 자바에 명령줄 웹 서버가 생겼다. 자바의 심플 웹 서버(Simple Web Server)에 대한 모든 것은 여기서 알아볼 수 있다. 핵심은 자바 18 이상을 사용하는 경우 이제 JDK 설치에 아주 간단하고 쉬운 파일 제공 방법이 포함된다는 것이다. 결과적으로 자바 플랫폼은 원스톱, 통합, 그리고 완전함에 조금 더 가까워졌다. 필자는 전에는 기본적인 파일 제공이 필요할 때는 파이썬이나 노드를 사용했지만 이제는 자바에서 모두 할 수 있다. 중첩된 텍스트 블록 자바 개발자들이 오랫동안 부러워했던 다른 플랫폼의 기능은 코드에서 대량의 텍스트를 쉽게 다루는 방법이다. JEP 378은 우리가 원했던 텍스트 블록을 제공한다. String html = """ 다른 사람들은 모르겠지만 필자는 이 블록을 보면 안도의 한숨이 나온다. 또한 텍스트 블록은 다음과 같이 따옴표 문자를 자유롭게 중첩할 수 있다. String html = """ record 클래스 JEP 395의 산물인 record 키워드는 평소처럼 getter, setter, toString, equals, hashcode 메서드를 수동으로 추가하지 않고도 POJO(Plain Old Java Object)를 만들 수 있게 해준다. record를 사용하면 플랫폼이 모든 세부 항목을 알아서 추가해준다. class Point { private final int x; private final int y; Point(int x, int y) { this.x = x; this.y = y; } int x() { return x; } int y() { return y; } public boolean equals(Object o) { if (!(o instanceof Point)) return false; Point other = (Point) o; return other.x == x && other.y == y; } public int hashCode() { return Objects.hash(x, y); } public String toString() { return String.format("Point[x=%d, y=%d]", x, y); } } 이 코드가 다음과 같이 된다. record Point(int x, int y) { } 또한 새로운 record 클래스에서는 상당한 수준의 맞춤 구성이 가능하므로 원하는 대로 많이 추가할 수도, 적게 추가할 수도 있다. 새롭게 개선된 switch JEP 361에서 자바의 switch 구문은 더 강력해지고 사용하기도 쉬워졌다. 이는 두 가지 방식으로 이뤄졌다. 하나는 더 깔끔한 구문, 다른 하나는 switch를 문이 아닌 식으로도 사용할 수 있는 기능이다. switch를 사용하면 다음과 같은 번잡한 과거의 구문이 어떻게 바뀌는지 보자. switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); break; case TUESDAY: System.out.println(7); break; case THURSDAY: case SATURDAY: System.out.println(8); break; case WEDNESDAY: System.out.println(9); break; } 이 코드가 다음과 같이 바뀐다. switch (day) { case MONDAY, FRIDAY, SUNDAY -> System.out.println(6); case TUESDAY -> System.out.println(7); case THURSDAY, SATURDAY -> System.out.println(8); case WEDNESDAY -> System.out.println(9); } 이에 못지않게 좋은 점은 변수 할당을 위한 식으로 사용할 수 있다는 것이다. (우리가 원하는 것은 결국 변수 할당인 경우가 많다.) int numLetters = switch (day) { case MONDAY, FRIDAY, SUNDAY -> 6; case TUESDAY -> 7; case THURSDAY, SATURDAY -> 8; case WEDNESDAY -> 9; }; 구조적 동시성 동시성이 무사태평한 코딩 영역이 될 일은 이제 없다. 다중 스레드 작업에는 본질적으로 정신을 혼미하게 만드는 무엇인가가 있다. 어쨌든 구조적 동시성은 지금의 코딩 환경에서 동시성을 처리하는 가능한 가장 쉬운 방법을 제공한다. try (var scope = new StructuredTaskScope()) { for (int planetId : planetIds) { scope.fork(() -> getPlanet(planetId)); // fork a “process” } scope.join(); } catch (Exception e){ System.out.println("Error: " + e); } 자바의 새로운 가상 스레드와 결합될 경우 구조적 동시성은 매우 강력한 힘을 얻는다. 이제 운영체제 스레드를 스폰하지 않으면서, 일반적인 프로그래밍 구조를 벗어나지 않으면서 자바에서 쉽게 동시성을 사용할 수 있다. editor@itworld.co.kr
애플 신제품을 자주 리뷰하면서도 전부 다 사지는 않는다. 애플이 신제품을 내놓을 때마다 쓰던 것을 다 업데이트할 여유가 없으니, 쓰던 기기가 낡아서 새것으로 교체할 시기를 신중하게 결정해야 한다. 물론 애플은 모든 사용자가 항상 신제품을 구입하기를 바란다. 그러나 매출을 올리기는 쉽지 않을 것이다. 업그레이드된 카메라 때문에 새 아이폰을 사거나 새로운 디자인과 더 빠른 프로세서 때문에 새 맥북 에어를 사는 사람도 있다. 새로운 기능이 별로 중요하지 않아서 최신 애플 워치를 사지 않고 건너뛰는 사람도 있다. 아이폰의 엄청난 성장 가속화로 인한 열기가 식기 시작하고 아이패드와 맥 판매량이 팬데믹 때의최고치에서 떨어지면서 애플은 새로운 하드웨어를 판매할 이유를 찾고 있다. 그리고 예상치 못한 곳에서 이유를 발견했다. 바로 AI다. RAM을 먹는 AI 모델 물론 AI 알고리즘은 소프트웨어다. 이론적으로 현재 모든 애플 하드웨어는 AI를 실행할 수 있어야 한다. 예를 들어 애플은 오래 전부터 칩에 뉴럴 엔진을 내장했다. 여기에 더해 올가을부터 애플 플랫폼에 주요 AI 기능이 추가될 것이라는 소문은 새로운 업그레이드의 물결을 일으킬 것이다. 최근 AI는 주로 오픈AI의 채팅 GPT나 구글의 제미나이 같은 대형 언어 모델(LLM) 중심으로 논의되기 때문이다. 애플은 클라우드에 아웃소싱하지 않고 애플 기기에서 기본적으로 실행할 수 있도록 자체 LLM을 구축하고 있는 것으로 알려졌다. 이렇게 하면 속도가 크게 향상될 뿐만 아니라 개인정보 보호도 강화될 수 있다. 문제는 LLM에는 메모리가 필요하다는 점이다. 구글은 애플이 아이폰용으로 계획하고 있는 것과 매우 유사한 모델인 제미나이 나노를 가장 큰 구글 픽셀 폰을 제외한 모든 제품에서 메모리 한계를 이유로 금지했다. 역대 아이폰에서 가장 많은 RAM은 아이폰 15 프로와 프로 맥스의 8GB 메모리다. iOS는 보통 안드로이드보다 메모리 사용량을 더 잘 관리하는 것으로 입증되었지만 여전히 8GB는 큰 용량이 아니며, 애플과 구글이 작업 중인 종류의 온-디바이스 LLM을 실행할 수 있는 최소한의 용량으로 보인다. 6월에 열리는 WWDC에서 AI를 공개할 것으로 알려졌기 때문에 애플이 현재 모델에서 작동하지 않는 아이폰 기능을 과시할 수는 없다. 하지만 많은 iOS AI 기능이 아이폰 15 프로 모델에만 제한될 수 있다고 가정하는 것은 무리가 아니다. 아이폰 15 프로에만 유일하게 8GB 메모리 모델이 있기 때문이다. 가을에 출시될 아이폰은 모두 충분한 메모리를 탑재할 것으로 보인다. 애플의 AI 발표는 잠재적 구매자에게 동기를 부여할 수 있는 엄청난 기능을 제공할 것이다. 가장 멋진 애플의 AI 기능을 사용하려면 최고급 아이폰을 구입해야 한다는 논리다. 한 단계 더 업그레이드하기 맥에서는 일이 조금 더 쉬워진다. 맥은 아이폰보다 더 튼튼하고 대부분의 애플 실리콘 맥은 애플이 만든 LLM으로 잘 작동할 가능성이 높지만, M1 맥이 M2 및 M3 버전보다 약간 뒤처지는 경우도 있을 수 있다. 그럼에도 불구하고 애플 실리콘 기반 맥을 소유한 사람이 업그레이드해야 하는 가장 강력한 이유는 많은 메모리와 많은 GPU 코어를 요구하는 AI 모델의 느린 처리 속도 때문이 아닐까 하는 생각이 들기 시작했다. 필자는 보급형 M1 맥북 에어를 포함해 M1 맥의 열렬한 팬이지만, AI 기능이 전면 도입되면 M1이 구형으로 느껴질 것이다. 애플 워치도 있다. 이제 막 하드웨어가 업그레이드되어 처음으로 기기 내 시리 기능을 지원하게 되었는데, 이는 기기 내 LLM을 지원할 만큼 충분한 성능을 갖추기까지는 시간이 걸릴 수 있음을 시사한다. 그러나 생각할수록 더 빠르고 반응이 빠른 음성 비서를 사용할 수 있다면 애플 워치를 즉시 업그레이드할 것 같다는 생각이 들었다. 물론 사용자가 원하는 AI 기능을 출시하는 것은 여전히 애플의 몫이다. 수년 동안 애플의 가장 확고한 특징은 최첨단 기술을 사용자가 실제로 가치 있게 여기는 기능으로 만드는 능력이다. 사용자가 실제로 쓰고 싶은 기능으로 만들어져야지, LLM과 AI라는 이름만으로 만병통치약이 될 수는 없다. 만일 애플이 운영체제에 더 매력적인 방식으로 AI를 주입할 수 있다면, 그리고 공교롭게도 더 빠른 프로세서와 더 많은 메모리가 필요하다면 하드웨어 업그레이드에 동기를 부여할 수 있을 것이다. 운영체제 업데이트는 무료지만 신제품 아이폰은 돈을 주고 구입해야 하기 때문에 애플에는 좋은 일이다. 맥북의 색상이나 아이폰 모양은 중요하지 않다. 애플 하드웨어를 새로 산다는 생각에 흥분되지는 않지만, 만일 교체하고 싶다는 생각이 든다면 멋진 AI 기반 기능 떄문일 것이다. editor@itworld.co.kr
게임용 PC를 업그레이드하면서 하드웨어를 고민하는 시나리오를 생각해 보자. 오래된 하드웨어의 성능에 지친 나머지 4K 커브드 게이밍 모니터, 최대 부스트클럭이 6.2GHz에 달하는 인텔 코어 i9-14900KS 등 사양을 극대화한 하드웨어를 과시하고 싶은 충동을 느낀다고 가정했다. 이때 가장 큰 문제는 가격이다. 모든 PC 사용자에게 너무나 익숙한 이야기다. 게임 하드웨어의 성능은 게임 내 순위표에서 빛을 발할지, 하위권을 맴돌지를 결정하는 가장 중요한 요소다. 그러나 최고의 하드웨어를 구입하고 싶은 유혹에 언제나 져서는 안 된다. 마음을 가라앉히는 호흡을 하고 명상 시간을 갖고, 필요하다면 친구에게 말려 달라고 부탁도 해야 한다. 결국 그만한 가치가 없는 일이기 때문이다. 균형 잡힌 판단 이유는 2가지다. 첫 번째는 최고의 하드웨어를 사용한다고 해서 항상 사양이 낮은 하드웨어를 쓸 때보다 더 나은 성능을 얻을 수 있는 것은 아니기 때문이다. 너무 많은 비용이 지출되면 가격 대비 성능을 비교해야만 한다. 같은 논리로 너무 저렴한 장비를 사도 성능을 포기하게 된다. 따라서 적정선을 찾는 현명한 선택이 중요하다. 인텔 코어 i9-14900K CPU를 예로 들어 보자. 인텔의 랩터 레이크 리프레시 14라는 이름이 붙었지만, 전 세대인 인텔 코어 i9-13900K와 아키텍처가 동일하며 기본 클럭과 부스트 클럭이 약간 향상됐을 뿐이다. 벤치마크 비교 결과 전 세대보다 속도는 단 2% 향상됐다. 게다가 일부에서는 코어 i9-14900K가 발열이 있고 전력 소모량이 많다는 의견이 있었다. 가장 큰 문제는 전 세대 제품보다 60달러나 비싸다는 점이다(미국 온라인 쇼핑몰 기준). 아주 큰 금액은 아니지만 모든 업그레이드 부품이 각각 60달러씩 비싸진다면 성능상의 이점이 거의 없이 가격만 250~500달러 늘어날 위험이 있다. 대신 조금만 찾아보면 정가에서 대폭 할인된 코어 i9-13900K를 구할 수 있다. 그 외에도 가치와 성능이 가격보다 뛰어난 제품은 많다. 무선 게이밍 마우스인 하이퍼X 펄스파이어 헤이스트 2와 게이밍 헤드셋 스틸시리즈 악틱스 노바 7X 등을 추천한다. AMD 라데온 RX 7900XTX 그래픽 카드도 좋은 예다. 이 제품은 4K 게이밍 벤치마크에서 엔비디아의 지포스 RTX 4090보다 단 3~10% 뒤지는 것으로 나타났다. 그러나 4K로 게임을 하는 경우는 거의 없고, 저해상도에서 실행되는 일부 벤치마크에서는 AMD RX 7900 XTX가 실제로 RTX 4090보다 성능이 더 뛰어나다. 가격도 미국 기준 700달러 더 저렴하다. 물론 RTX 4090은 손에 넣을 수 있다면 감사해야 할 환상적인 카드다. 그러나 RTX 4090이나 동급의 값비싼 고급 그래픽 카드를 사용하지 않는 또 다른 이유는, 최고의 그래픽 카드가 언제까지나 왕좌를 지키지 않는다는 것이다. 게임 브랜드의 거의 모든 제품은 발매 후 1년 안에 후속작에 밀려난다. 물론 RTX 4090이 앞으로 몇 년 동안 PC의 성능을 확보해주기는 하겠지만, 내년에 지포스 RTX 5070이 출시된다면 두 제품의 성능은 거의 비슷할 것이다. 실제로 발매와 발매 사이에 1년 정도의 공백을 두고 중급 하드웨어로 업그레이드하는 것이 투자 가격 대비 가장 뛰어난 방법이라는 것을 알게 되었다. 보급형 GPU를 예로 들면, 엔비디아 지포스 RTX 3090이 권장소비자가격 1,599달러에 출시됐을 때 구매하고 싶은 충동을 참고 기다렸다가 몇 개월 후 RTX 4070을 구입해 900달러를 절약했고, 이 돈으로 모니터와 다른 부품을 업그레이드해 전반적인 PC 성능을 향상시킨 경험이 있다. 이제 단순히 성능만 뛰어난 GPU가 아니라 GPU의 빠른 프레임 속도를 따라잡는 모니터까지 갖게 된 것이다. 일부 벤치마크에서는 RTX 3090과 RTX 4070의 성능차가 겨우 11%에 불과했다는 것도 이러한 결정을 정당화했다. 따라서 PC 업그레이드 이전에 몇 가지를 고려하는 것이 좋다. 최고 성능 하드웨어를 살 수 있는지, 그런 예산이 있는지도 생각해야겠지만, 구입 전에 가격 대비 성능이 뛰어난 하드웨어를 둘러보는 것도 나쁘지 않을 것이다. editor@itworld.co.kr
10년 전과 같은 실수를 반복하지 말자. 클라우드에 대규모 언어 모델을 보다 비용 효율적이고 적은 위험으로 배포할 수 있다. 지난 2년 동안 필자는 기존 시스템 프로젝트보다 대규모 언어 모델(LLM)을 사용하는 생성형 AI 프로젝트에 더 많이 참여했다. 서버리스 클라우드 컴퓨팅에 대한 향수가 생길 정도이다. 새로 구축하는 생성형 AI 기반 애플리케이션은 대화형 AI를 개선하는 것부터 산업 전반에 걸쳐 복잡한 분석 솔루션을 제공하는 것까지 다양하다. 많은 기업이 LLM을 클라우드 플랫폼에 배포하는 이유는 퍼블릭 클라우드 서비스 업체로 구성된 생태계가 이미 준비되어 있고, 저항이 가장 적은 경로이기 때문이다. 또한 클라우드는 확장성, 효율성, 고급 연산 기능(온디맨드 GPU)과 같은 다른 이점도 제공한다. 하지만 비용이 저렴하지는 않다. 그런데, 퍼블릭 클라우드 플랫폼의 LLM 배포 프로세스에는 성공과 실패에 큰 영향을 미칠 수 있는 잘 알려지지 않은 비결이 있다. 아마도 LLM을 다룰 수 있는 AI 전문가가 많지 않고, 전문가라도 이런 작업을 오래 하지는 않아 지식의 공백이 많기 때문일 것이다. AI 엔지니어조차도 모를 수 있는 클라우드에 LLM을 배포하기 위한 잘 알려지지 않은 3가지 팁을 살펴본다. AI 엔지니어 대부분이 고액 연봉을 받는다는 점을 고려하면, 이제 이들에게 AI 프로젝트를 제대로 수행하기 위해 필요한 세부사항까지 물어야 할 시점일지도 모른다. 모두가 머리에 불이 붙은 것처럼 생성형 AI에 뛰어들면서 그 어느 때보다 많은 실수가 드러나고 있다. 비용 효율성 및 확장성 관리 LLM 배포에 클라우드 플랫폼을 사용하는 큰 매력 중 하나는 필요에 따라 자원을 확장할 수 있다는 점이다. 클라우드 플랫폼에는 마우스 클릭 한 번으로 또는 자동으로 할당할 수 있는 자원이 있기 때문에 용량 계획에 능숙할 필요가 없다. 하지만 클라우드 컴퓨팅을 처음 사용할 때와 같은 실수를 똑같이 저지를 수 있다. 규모를 확장하면서 비용을 관리하는 것은 많은 기업이 효과적인 방법을 찾는 데 도움이 필요한 기술이다. 클라우드 서비스는 사용한 자원에 따라 요금이 부과된다. 전기나 가스처럼 기능한다는 점을 기억해야 한다. 연산 처리를 더 많이 할수록 더 많은 비용을 지불해야 한다. 더구나 GPU는 더 많은 전력을 소모하고 더 비싸기 때문에 퍼블릭 클라우드 상의 LLM에서 핵심 고려사항이다. 비용 관리 툴을 제대로 활용해야 한다. 클라우드 플랫폼에서 제공하는 비용 관리 도구와 서드파티 비용 거버넌스 및 모니터링 전문업체가 제공하는 툴을 모두 활용해야 한다. 이런 툴을 통해 자동 확장 및 스케줄링 구현, 적절한 인스턴스 유형 선택, 비용 최적화를 위한 예약 인스턴스 사용 등을 활용할 수 있다. 또한 배포를 지속적으로 모니터링해 예측된 부하만 사용하는 것이 아니라 사용량에 따라 자원을 조정하는 것도 잊지 말자. 다시 말해, 모든 역량을 동원해 오버프로비저닝을 피해야 한다. 멀티테넌트 환경의 데이터 프라이버시 LLM을 배포하려면 민감한 데이터나 독점 데이터를 포함할 수 있는 방대한 양의 데이터와 학습된 지식 모델을 처리해야 하는 경우가 많다. 퍼블릭 클라우드를 사용할 때의 위험은 동일한 물리 하드웨어에서 작동하는 인스턴스 형태의 이웃이 있다는 점이다. 따라서 퍼블릭 클라우드는 데이터가 저장되고 처리될 때 퍼블릭 클라우드 데이터 센터의 동일한 물리 하드웨어에서 실행되는 다른 가상머신이 액세스할 수 있는 위험을 수반한다. 퍼블릭 클라우드 서비스 업체에 이에 대해 문의하면, 업데이트된 파워포인트 프레젠테이션을 가져와 그런 일은 일어나지 않는다고 보여줄 것이다. 이들의 말은 대체로 사실이지만 완벽한 것은 아니다. 모든 멀티테넌트 시스템에는 이런 위험이 있으므로 완화책을 마련해야 한다. 필자는 데이터 스토리지와 LLM에 관해서는 한 국가에서만 운영되는 클라우드 서비스 업체처럼 규모가 작을수록 이런 문제가 발생할 가능성이 더 높다는 것을 알게 됐다. 비결은 전송 중 암호화, ID 및 액세스 관리(IAM), 격리 정책 등 입증할 수 있는 엄격한 보안 표준을 준수하는 클라우드 서비스 업체를 선택하는 것이다. 물론 클라우드에서 멀티테넌트 LLM을 사용할 때 위험을 낮추기 위해 관련 보안 전략과 보안 기술 스택을 구현하는 것이 훨씬 더 좋은 생각이다. 스테이트풀 모델 배포 처리 LLM은 대부분 스테이트풀 워크로드이므로 한 인터랙션에서 다음 인터랙션으로 넘어갈 때까지 정보를 유지한다. 이 오래된 기법은 지속적인 학습 시나리오에서 효율성을 향상시킬 수 있다. 그러나 기본 설계 상 인스턴스가 임시적이거나 스테이트리스인 클라우드 환경에서 이런 스테이트풀 모델을 관리하는 것은 까다로운 일이다. 이때는 스테이트풀 배포를 지원하는 쿠버네티스와 같은 오케스트레이션 툴이 도움이 된다. 이들 툴은 LLM을 위한 영구 저장소 옵션을 활용할 수 있으며, 세션 전반에서 상태를 유지 및 운영하도록 구성할 수 있다. 이는 LLM의 연속성과 성능을 지원하기 위해 필요하다. 많은 기업이 클라우드 플랫폼에 LLM을 배포하는 것은 예견된 일이다. 대부분 기업에 클라우드를 사용하는 것만큼 편리한 방법은 없다. 하지만 이렇게 서두르다 보면 쉽게 해결할 수 있는 문제를 놓치고, 결국에는 대부분 피할 수 있는 값비싼 실수를 많이 저지르게 된다. 필자의 우려는 바로 이것이다. editor@itworld.co.kr
1개월 전 M3 맥북 에어가 출시되면서 애플 노트북 제품군이 최신 칩인 M3을 탑재하며 업데이트됐다. 이제 데스크톱 맥 제품군이 업데이트될 차례다. 그러나 현재 애플 데스크톱 맥의 4가지 모델 중 M3 칩이 탑재된 모델은 아이맥 하나뿐이다. 아이맥은 2년 간의 기다림 끝에 지난 연말 CPU가 업데이트됐지만, 나머지 제품은 M4 칩 출시 전에 CPU가 바뀔지도 확실하지 않은 상황이다. 답은 애플만이 알고 있을 것이다. 그러나 각 모델을 기준으로 데스크톱 맥 제품군의 현황을 살펴보고 애플의 향후 계획을 어느 정도 짐작할 수 있다. 맥 미니 과거 릴리즈 기록을 고려할 때 맥 미니에 M3 업데이트가 없다는 것은 다소 당황스럽다. M1 칩이 출시될 당시 맥 미니는 최초의 애플 실리콘 제품과 함께 주목을 받았다. M2 프로가 출시됐을 때도 고급형 모델이 추가됐다. 맥 미니는 신형 칩이 출시될 때마다 맥 미니는 최전선에 있었다. 아이맥 아이맥은 지난해 가을 와이파이 6E와 블루투스 5.3 사양과 함께 M3 칩으로 업데이트됐다. M1 칩 모델보다 좋은 사양이지만, 현재 디자인이 2021년에 소개됐다는 점을 생각하면 새로운 아이맥이 성능에 초점을 맞춘 점진적 업데이트 단계에 있다고 생각할 수 있을 것이다. M2 맥북 에어와 M3 맥북 프로와 달리 새로운 색상이 추가되지도 않았다. 앞으로의 아이맥 업데이트의 중요성을 경시하는 것은 아니지만, 점진적인 업데이트는 어느 정도 예측 가능하다. 지금까지의 출시 주기를 보면 2026년이나 2027년쯤 M5 칩이 출시될 때까지 새로운 아이맥이 발매되지는 않을 것 같다. 더 큰 아이맥 프로 모델을 예상하는 이도 있지만 역시 가능성이 낮다. 애플은 27인치 아이맥 출시 계획이 없다고 구체적으로 밝힌 바 있다. 32인치 아이맥 프로에 대한 소문이 돌기도 했지만, 애플이 출시 준비를 극비리에 진행하는 것이 아니라면, 사용자는 한동안 24인치 모델에 정착해야 할 것 같다. 맥 스튜디오 맥 스튜디오는 2022년 3월 행사에서 스튜디오 디스플레이와 함께 깜짝 공개됐다. 맥 미니보다 강력하면서 설치 공간은 작고, 맥 프로보다는 확장성이 낮지만 속도는 매우 빠른 데스크톱 컴퓨터를 대표하는 제품이다. M2 맥스와 M2 울트라 칩 탑재 모델이 출시된 지 1년이 채 지나지 않았으므로 업데이트가 늦다는 느낌은 없다. 그러나 이미 M3 맥스를 탑재해 출시된 고성능 제품인 맥북 프로 모델과 비교하면 또 다르다. 애플이 한동안 맥을 재설계하지 않을 것으로 보이므로 6월 WWDC에서 맥 스튜디오의 업데이트 발표가 있을지는 불투명하다. 맥 프로 2006년 가장 빠른 PC로 출시한 맥 프로는 가장 시대를 따라가지 못한 제품이 되었다. 이제 수천 달러 더 저렴하고 빠른 맥 스튜디오가 있다. 작년 6월 M2 울트라 모델에서는 업그레이드 가능한 그래픽과 메모리라는 가장 큰 장점이 사라졌다. 맥 프로와 맥 스튜디오는 이제 디자인이나 몇 가지 외부 포트, 업그레이드 가능한 스토리지로만 구분이 가능하다. 남은 질문은 애플이 맥 프로를 업그레이드할지 정말 궁금해 하는 사용자가 있을 것이냐다. 맥 프로는 항상 특정한 틈새 시장을 공략했기 때문에 판매량이 높지는 않았다. 맥 프로 사용자는 맥 미니나 아이맥만큼 업그레이드를 자주 하지도 않는다. 맥 스튜디오처럼 M3 울트라를 건너뛰고 2025년 M4를 기다려야 할 수도 있다. 이전에도 실린더(2013년)와 래티스 타워(2019년) 사이에 무려 6년이라는 업데이트 간격이 있었던 때가 있다. 데스크톱에 희망이 있을까? 애플이 2024년에 새로운 데스크톱 맥을 릴리즈한다면 맥 미니와 맥 스튜디오가 가장 유력한 후보이지만, 그마저도 확실한 것 같지는 않다. 애플이 맥북 에어와 프로를 매 세대마다 새로운 칩으로 업데이트하고, 매년 새로운 아이폰과 애플 워치를 출시한다는 것은 잘 알려져 있지만, 데스크톱 맥은 확실하지 않다. 같은 애플 칩을 사용하는 만큼 데스크톱 맥도 노트북과 같은 주기를 따랐을 텐데, 현재 양상은 데스크톱 맥이 뒷전으로 밀려난 것이 분명해 보인다. 주기가 길어지면 적어도 더 많은 혁신을 가져올 수도 있을 것이다. 가장 작은 아이맥 업데이트에는 2년 이상이 걸렸고, 애플 실리콘을 탑재한 맥 프로는 직전 모델인 인텔 버전보다 기능이 줄었다. 맥 미니나 맥 프로는 애플 칩으로 바뀌면서 디자인이 그대로 유지됐다. 맥 프로 두께가 더 얇아진다거나 맥 미니에 새로운 색상이 추가될 것이라는 루머도 있었지만, 여러 해 동안 판매된 것과 동일한 구형 케이스가 등장했을 뿐이다. 애플 실리콘으로 디자인을 대폭 개편한 아이맥도 새롭다기보다는 파생형에 가깝고 예전 같은 창의력이 부족하다. 10년 후에도 지금과 크게 다르지 않을 것이라고 장담할 수 있다. 가격 면에서도 혼란이 있다. 맥 스튜디오의 스토리지와 RAM을 최대로 늘린 맥 미니와 더 나은 프로세서를 탑재한 스튜디오는 결국 가격이 같다. 맥 스튜디오와 M2 울트라 칩, 메모리, 스토리지 사양이 동일한 맥 프로는 USB-C 포트가 더 많고 케이스가 더 크다는 이유로 3,000달러 더 비싸다. 맥 프로에 익스트림 칩이 탑재될 것이라는 소문은 무성하지만, 현실에서는 맥 스튜디오보다 프로세서 사양이 더 높지 않다. M3 맥북은 기능과 옵션의 명확한 조합이다. 그러나 다양한 데스크톱 맥이 판매되는 것은 사용자에게 필요한 것을 신중하게 고려했기 때문이 아니라 단지 판매해야 하기 때문인 것 같다. M3 프로 칩이 탑재된 맥북 에어는 없다. 그러나 맥 미니에는 고가의 M2 프로 옵션이 있다. 맥 스튜디오는 훌륭한 제품이지만, 맥 프로와 마찬가지로 불필요하다. 아이맥 사용자에게 가장 절실한 사양인 더 큰 디스플레이는 고려하지 않고 있다. 노트북이 시장을 지배하고, 사용자가 데스크톱을 업그레이드하는 주기가 길어지면서, 데스크톱 맥은 맥북 제품군에서 뒷자리를 차지하고 있다. 이제 더 깊숙이 보이지 않는 곳으로 수납될지도 모른다. 100피트짜리 가상 모니터가 있는 헤드셋에 맥이 통째로 들어가는 비전 프로와 맥 버추얼 디스플레이만 봐도 알 수 있다. 더는 1,599달러짜리 맥 스튜디오에 1,999달러짜리 스튜디오 디스플레이를 연결할 필요가 없는 것이다. 물론 멋진 일이지만 애플의 데스크톱 맥에도 동일한 혁신이 적용되어야 한다. 현재 애플 데스크톱 제품군은 대부분 상대적으로 구형인 M2 칩으로 구성돼 있고 훌륭한 디자인과 기능을 제공한다. 그러나 M2 맥스가 M3 프로와 CPU 성능이 동일한 것을 본 사용자는 구입을 망설이게 되고, 결국 가치와 옵션이 훨씬 다양한 맥북으론 눈을 돌리게 된다. 애플은 여전히 데스크톱 맥을 만들고 있지만, 업데이트를 기다리는 시간은 그 어느 때보다 길고 불확실하다. 새로 출시될 신제품이 거의 없다는 것은 이 영역이 텅 비는 것도 머지 않았음을 의미한다. editor@itworld.co.kr
지난 3월 맥도날드에서 전 세계적인 시스템 장애로 결제에 문제가 발생하자, 이 기업은 이 사고에 대한 긴 해명 자료를 내놓았다. 다소 모호하고 오해의 소지도 있는 내용이었다. 이 자료에서 모든 상황을 정확하게 파악할 수는 없지만 적어도 한 가지는 분명했다. POS(Point-of-Sale) 공급 업체에 모든 책임을 떠넘겼다는 사실이다(참고로, 맥도날드 장애가 발생하자 경쟁사 버거킹은 맥도날드의 슬로건인 '아임 러빙 잇(I'm Lovin' It)'을 '낫 러빙 IT(Not Loving I.T.)'이라고 바꿔 링크트인에 올리면서 이 상황을 즐겼다). 맥도날드는 장애가 시작된 직후, 즉 아직 장애가 계속되는 상태에서 해명 자료를 내놓았다. 첫 자료에는 "이 문제는 사이버 보안 문제가 아니라 서드파티 공급 업체가 설정을 변경하는 과정에서 발생한 문제다"라는 내용이 있었는데 몇 시간 후 '직접적으로'라는 단어를 추가해 "사이버 보안 문제로 인해 직접적으로 발생한 것이 아니다"라고 말을 바꿨다. 이 내용은 다양한 추측을 불러일으켰다. 문장 그대로 해석하면, 맥도날드나 POS 공급 업체에는 영향을 미치지 않는 '사이버 보안 문제'가 어딘가에 분명히 있었고, 그 사고가 어떤 식으로든 서비스 중단에 영향을 미쳤다는 의미였다. 가장 그럴듯한 시나리오는 맥도날드 또는 POS 공급 업체가 POS 허점을 이용한 다른 사이버 공격(아마도 여러 건의 공격)을 확인하고, 이 허점이 맥도날드 POS 환경에도 존재한다는 사실을 깨달았을 가능성이다. 이후 맥도날드 혹은 서드파티 업체가 긴급 수정 조치를 시행했는데, 이 패치에 대한 테스트가 불충분하거나 아예 하지 않아 맥도날드 시스템에 장애가 발생했다는 가설이다. 사이버 보안 문제로 인해 '간접적으로' 발생할 수 있는 그런 상황이다. 다시 해명 자료로 돌아가 더 많은 단서를 찾아보자. 맥도날드의 글로벌 CIO 브라이언 라이스는 "금요일 자정 무렵, 글로벌 기술 장애가 발생했으며 이를 신속하게 파악해 바로 잡았다. 현재 많은 매장이 다시 정상으로 돌아왔고, 나머지 매장도 복구하는 중이다. 여전히 문제가 발생하고 있는 지역과 긴밀히 협력하고 있다"라고 설명했다. 처음에는 이 설명에 모순이 있는 것처럼 보였다. 첫 문장에서는 장애를 "신속하게 파악해 바로 잡았다"면서 다음 문장에서는 많은 지역 매장이 여전히 장애 상태라고 했기 때문이다. 정말 신속하게 복구됐다면, 이 자료를 내놓을 당시 그렇게 많은 매장의 시스템이 여전히 먹통 상태인 것이 이해되지 않는다. 이 모순을 설명할 수 있는 가장 가능성 높은 해답이 DNS다. 즉, 문제가 '해결'됐지만, 이 해결이 아직 모든 매장에 '도달하지 않았다'는 추론이다. DNS 관련 문제는 적용되는 데 시간이 필요하며 영향을 받은 지역이 미국, 독일, 호주, 캐나다, 중국, 대만, 한국, 일본 등 지리적으로 멀리 떨어져 있었다. DNS 문제였다면, 일부 지역에서 복구하는 데 1~2일 걸린 이유가 설명된다. 이어 맥도날드는 두 번째 발표 자료를 통해 공급 업체에 책임을 떠넘겼다. 맥도날드는 "앞으로 며칠 내에 문제를 분석하고 팀과 서드파티 공급 업체에 책임을 물을 것이다"라고 했다. 불과 하루 전에는 "서드파티 공급 업체가 구성을 변경하는 동안 중단이 발생했다"라고 설명했었지만, 사고가 발생한 지 불과 몇 시간 만에 이 사태가 공급 업체의 잘못이라는 점을 분명히 했다. 그러나 로널드(맥도날드 마스코트 캐릭터 이름)의 이 반응은 너무 나간 것이다. 사실 그 공급 업체와 계약한 곳이 바로 맥도날드이고, 이 공급 업체를 관리하는 IT팀은 맥도날드 소속이다. 만약 서드파티 업체가 맥도날드와 상의하지 않고 자체적으로 시스템을 변경해 이런 장애가 발생했다면 맥도날드의 주장이 타당할 수 있다. 하지만 그럴 가능성은 거의 없다. 만약 그랬다면, 맥도날드는 아마 첫 해명 자료에서 이 내용을 포함했을 것이다. 더구나 해당 서드파티 업체명은 밝히지 않은 채 모든 책임을 이 익명의 협력업체에 돌리는 것도 석연치 않다. 누군가를 비난하면서 그가 누구인지 밝히지 않는 이상한 상황이다. Computerworld는 최초 해명 자료가 나온 후 맥도날드에 코멘트를 요청했지만, 아무런 답변이 없었다. 한편 시큐리티 에이전시(Security Agency)의 사이버 운영 책임자인 마이크 윌크스 역시 이번 장애의 가장 유력한 원인으로 DNS를 지목한다. 그는 "DNS 장애가 전 세계적인 서비스 중단, 즉 구성 오류로 이어진 것 같다. 불충분하게 테스트 된 패치 또는 섣부른 패치였을 가능성이 높다"라고 말했다. 윌크스는 이 장애가 맥도날드 모바일 앱에는 영향을 미치지 않았다고 지적했는데, 이것이 사실이라면 이는 이번 사태의 또 다른 단서가 될 수 있다. 즉, DNS가 전파되는 데 시간이 필요하다는 점뿐만 아니라, 맥도날드가 다른 DNS 전문업체를 통해 변경 사항을 적용해야 했기 때문에 지연이 발생했다는 것이다. 윌크스는 "문제가 된 시스템은 보안을 개선하기 위한 DNSSEC(도메인 이름 시스템 보안 확장) 변경 작업이었을 가능성이 높다"라고 말했다. 윌크스는 TTL(time to live) 설정도 영향을 미쳤을 것으로 의심했다. 그는 "5분의 복구 시간을 갖기 위해 TTL을 낮출 시간이 없었던 것 같다. 이 가설이 맞는다면 지연 시간이 길어진 것을 설명할 수 있다"라고 말했다. 그레이 햇 아카데미(Gray Hat Academy)의 공동 설립자이자 매니징 파트너인 테리 던랩눈 맥도날드의 장애 사태가 잠재적으로 임박한 사이버 공격을 신속하게 차단하려는 조처 중에 발생한 것으로 본다. 마치 다가오는 파도에 익사하지 않기 위해 구명조끼를 입다가 문제가 생겼다는 것이다. 이어 던랩은 전략적인 측면에서도 맥도날드의 발표에 문제가 있었다고 지적했다. 그는 "가능한 한 자세하게 사고의 전모를 밝히는 것이 좋다. 그러나 맥도날드의 자료에는 필요한 수준의 상세한 내용이 포함되지 않았다. 사고에 대해 어떻게 대응했는지, 왜 그런 일이 발생했는지, 다른 영향은 없는지 등 맥도날드의 발표는 오히려 더 많은 의문을 불러일으킨다"라고 말했다. 이번 사고는 서드파티의 리스크를 다시 한번 확인할 수 있는 적절한 사례이기도 하다. 언스트앤영(EY)의 상무이사 브라이언 레빈은 "현재 모든 기업이 서드파티 리스크 관리와 관련해 위기에 봉착했다. 법원과 규제 기관은 물론 모든 기업이 서드파티 리스크에 대해 더 상세하게 점검하고 있다"라고 말했다. 맥도날드는 사건 초기 이 문제에 대해 미국 증권거래소(SEC)에 보고서를 제출하지 않았다. 금융가가 이번 사고를 심각하게 다루지 않고 있음을 고려하면, 맥도날드가 중요한 사안으로 여겨 규제 당국에 보고할 가능성은 작다. 서드파티 POS 공급 업체의 경우 아직 어느 곳인지 확인되지 않았기 때문에 SEC 신고 여부를 알 수 없는 상황이다. 단, 이번 사고에서 모든 기업 IT 부서가 기억해야 할 중요한 교훈이 있다. 서비스 장애 사고가 발생하면 이에 관해 설명할 때 신중히 처리해야 한다는 것이다. "무언가 발생해 조사 중이며 사실이 확인되는 대로 자세히 발표하겠다"라는 내용 이상의 모든 언급은 오히려 억측과 혼란의 실마리가 될 수 있다. 이런 모호한 암시는 기업에 전혀 도움이 되지 않는다. 대신 말할 수 있는 준비가 됐을 때 발표하면 된다. 준비가 안 됐다면 차라리 아무 말도 하지 않는 것이 낫다. 1쿼터를 1/4 크기(약 113g)로 나눠 만든 맥도날드의 쿼터파운더 햄버거는 (장기적으로 건강에는 나쁘다고 해도) 맛이 좋고 포만감도 있지만, 장애 관련 정보를 쪼개서 발표하는 것은 맥도날드에 전혀 이익이 되지 않는다. 이번 맥도날드의 장애 대응은 맛도, 건강도 모두 잃은 햄버거 같은 것이었다. editor@itworld.co.kr
매일매일 업데이트되는뉴스레터 받아보기
테크라이브러리자료 업로드 신청
택배는 언제나 반갑다. 주문한 물건도 물건이지만, 과거에는 택배를 뜯으면 딸려 오는 플라스틱 비닐 완충재, 이른바 '뽁뽁이'를 터뜨리는 재미가 쏠쏠했다. 그런데, 언젠가부터 이 뽁뽁이가 불편해지기 시작했다. 하나씩 터뜨릴 때마다 물고기와 플랑크톤이 미세 플라스틱을 먹는 장면이 머릿속을 스친다. 이뿐만이 아니다. 카페에서 테이크아웃 커피를 주문할 때, 배달 음식을 먹을 때, 사용하는 가전제품에 사용된 소재가 플라스틱임을 인지하는 순간, 기후 변화 문제에 일조하고 있다는 죄책감이 든다. 지난 몇 년 동안 친환경에 대한 소비자의 관심이 증가하고 있다. 물티슈나 플라스틱 빨대 대신 손수건이나 스테인리스 빨대, 텀블러를 가지고 다니는 사람을 이제 주변에서 흔히 볼 수 있다. 빈 용기에 샴푸나 린스를 원하는 용량만큼만 구매할 수 있는 리필 스테이션을 이용하거나, 배달 주문 대신 빈 다회용기를 마트나 음식점에 가져가 포장 주문하는 사람도 있다. 이들이 불편함을 기꺼이...
최신 플립폰이 매력적이지 않은 가장 큰 이유가 바로 가격이다. 비슷한 가격대의 휴대폰에 비해 카메라도 좋지 않은데, 이렇게 비싸게 살 필요가 없다. 그런데 마침내 중간 가격대의 플립폰이 등장하고 있다. 물론 최신 갤럭시 Z 플립폰처럼 모든 기능을 갖춘 것은 아니다. 하지만 접는 기기를 써보고 싶었지만 비싼 가격 때문에 망설였다면, 누비아 플립 5G(Nubia Flip 5G)가 좋은 출발점이다. 디자인과 만듦새 3가지 색상 209g 방수 기능 없음 2000년대 기기의 열렬한 팬이라면 누비아 플립 5G가 꼭 마음에 들 것이다. 반으로 접히기 때문에 주머니에 넣을 수 있을 정도로 작다. 일반적으로 휴대폰이 윗부분에서 튀어나와 도둑의 먹잇감이 되는데, 이 제품은 여성용 청바지에도 쏙 들어갈만한 크기다. 물방울 힌지를 사용해 상판과 하판 사이에 거의 틈이 없고 손톱을 집어넣지 않는한 문제없이 닫힌다. 두께는 7mm로 가장 얇은 폴더블폰이라고는 할 수 없고, 복고풍에서...
PCWorld는 세계 비밀번호의 날(World Password Day)을 전폭적으로 지지한다. 보안을 강화하기 위해 약간의 노력을 기울일 의향이 있다면, 취약한 비밀번호를 기꺼이 버리고 여기서 소개하는 4가지 간단한 제안을 따르기를 바란다. 데이터 유출과 해커의 위협이 즉각적으로 사라질 뿐 아니라 ID와 비밀번호를 기억하기 위해 애쓸 필요가 없다. 비밀번호보다 사용이 간편한 새로운 형태의 계정 보호 기능을 선택한다면 더욱 그렇다. 오늘날 데이터 유출은 매우 흔한 일이다. 비트워든(Bitwarden)의 최근 설문조사에 따르면, 여전히 많은 사람이 비밀번호를 재사용하고 있다. 예를 들어 미국에서는 31%가 11~20개 이상의 사이트에서 비밀번호를 재사용하는 것으로 나타났다. 유출된 데이터를 입수한 해커는 비밀번호를 알아낼 뿐 아니라 비밀번호에 사용한 개인정보까지 쉽게 알아낸다(미국 사용자 42%가 개인정보를 비밀번호에 포함한다). 비밀번...
윈도우 10이든 11이든 마이크로소프트가 보내는 광고 메시지로 가득 차 있기는 매한가지다. 광고가 아니지만 MSN이 보내는 바이러스성 온라인 기사 알림처럼 거슬리는 것들도 있다. 성가신 광고와 팝업을 최대한 성가신 광고와 팝업을 최대한 없애고 싶다면, 설정에서 몇 가지 항목을 조정하기만 하면 된다. 모든 설정을 비활성화할 수는 없으므로 기사의 안내를 따르더라도 몇 가지 알림이 울릴 수 있다. 시작 메뉴 광고 사용 안 함 윈도우 11에서는 시작 메뉴에 앱 광고가 표시된다. 윈도우 10 PC에는 이미 있는 기능이다. 광고를 보지 않으려면 다음 순서를 따르자. 윈도우 11에서 설정 앱을 열고 개인 설정 > 시작으로 이동한다. “팁, 바로 가기, 새 앱 등에 대한 권장 사항 표시”를 비활성화한다. 윈도우 10에서는 설정 앱을 열고 개인 설정 > 시작으로 이동해 “시작에서 가끔씩 제안 표시”를 비활성화한다. 알림 광고 및...
지금 구글 세계에서 관점에 따라 전혀 다른 2가지 이야기가 펼쳐지고 있다. 한편에서는 구글이 올해 세상에 내놓은 AI 챗봇 제미나이(Gemini)가 점점 더 좋아지고 있다. 제미나이가 안드로이드와 기타 구글 플랫폼에서 차세대 가상 비서로서의 역할을 할 것임이 점점 더 분명해지는 여러 가지 작은 개선 사항은 셀 수 없을 정도다. 다른 한편에서 보면 이런 상황은 구글이 상상할 수 있는 모든 곳에 제미나이 도입을 서두르고 있다는 무언의 진실을 강조한다. 제미나이는 충분한 준비를 갖추기 훨씬 전에 너무 빨리 출시됐다. 비즈니스 이익을 위해 사용자 경험을 희생하면서까지 무리하게 밀어붙이는 것이다. 구글 서비스에 의존하는 사용자에게 훨씬 더 만족스러운 서비스를 제공할 수 있도록 사려 깊고 세심한 방식이 아닌, 서두르고 단편적인 방식으로 어색하고 급하게 만들어지고 있다. 첫 번째 상황은 구글이 하고 싶은 이야기다. 후자는 대부분 사용자가 겪고 ...
킥스타터 펀딩을 통해 출시된 스위프트포인트 Z2(Swiftpoint Z2)는 단순한 6버튼 FPS 마우스에 익숙한 미니멀리스트 게이머에게는 다소 부담스러울 수 있다. 스위프트포인트 Z의 후속작인 이 제품은 너무 기능이 많아 처음 접하면 압도당하는 느낌을 받는다. 하지만 최고의 마우스를 찾는 마니아에게는 딱 맞는 제품이다. 13개 커스터마이징 가능한 버튼, 드래그를 최소화하는 윙, 자이로스코프, 햅틱 피드백, 미니 OLED 디스플레이 등 눈에 띄는 것이 이 정도이고, 이 조차 기능 리스트의 시작에 불과하다. 게이머가 원하는 거의 모든 기능을 탑재한 Z2는 호머 심슨이 만든 자동차 '호머'에 해당하는 마우스라고 할 수 있다. 하지만 이런 비교로 인해 이 마우스의 게임 성능을 미리 재단해선 곤란하다. 실제로 Z2의 제작자는 시중에 나와 있는 대부분의 멀티 버튼 게이밍 마우스보다 훨씬 뛰어난 마우스를 만들기 위해 많은 노력을 기울였다. 이 마우스는 맞춤 설정을 원하는 사용자...
레디스와 엘라스틱서치의 라이선스 변경은 단독 업체가 지원하는 오픈소스 프로젝트의 종말을 알리는 신호탄이라 할 수 있다. 어떻게 된 걸까? 몇 주 전 레디스는 오픈소스 이니셔티브(OSI)에서 승인한 BSD3항 라이선스에서 RSALv2(Redis Source Available License)로 라이선스를 변경했다. 앞서 엘라스틱이 엘라스틱서치의 라이선스를 아파치 라이선스 2.0에서 엘라스틱 라이선스(ELv2)로 전환한 것을 반영한 것이나 마찬가지다. 오픈소스 엘라스틱서치에서 오픈서치가 갈라져 나온 것처럼, 벌키(Valkey)도 오픈소스 레디스에서 갈라져 나왔다. 필자는 지난 2년간 AWS에서 오픈소스 오픈서치의 개발자 애드보킷으로 일하면서 엘라스틱의 2021년 라이선스 변경으로 무너진 커뮤니티 신뢰를 재건하는 일을 해 왔다. 매일 라이선스 변경으로 생계가 위험에 처한 기업과 이야기를 나눴다. 그들이 두려워한 미래는 지금까지도 필자를 괴롭힌다. 오픈소스 라이선스가 소스 사용 가능 라...
'이제 클라우드 서비스를 회수하고 회사 데이터센터를 다시 한 번 재구축해야 할 때'라는 생각이 퍼지고 있다. 이른바 송환(repatriation), 즉 클라우드로 보냈던 작업을 온프레미스 또는 자체 관리 하드웨어로 되가져오는 행위다. 송환의 주된 명분은, 특히 경기 침체기에는 단순 명료하다. AWS, 애저 또는 기타 클라우드 호스팅 서비스를 사용하지 않고 자체 인프라를 구축하고 관리해서 비용을 절감한다는 것이다. 송환이라는 개념은 몇 년 전 앤드리슨 호로위츠가 올린 글에서 처음 관심을 모은 이후 꾸준히 확산하는 중이다. 베이스캠프(Basecamp)와 헤이(Hey, 유료 웹메일 서비스)를 만든 기업인 37시그널스(37Signals)는 송환을 실행하면서 그 방법에 관한 글을 블로그에 주기적으로 게시한다. 최근 한 설문 보고서에 따르면, 자체 호스팅으로 복귀하려는 주된 이유는 돈이다. 응답자의 45%가 비용 때문이라고 답했다. 송환에 대한 관심 증가...
구글은 크로미움 제품에서 서드파티 쿠키를 단계적으로 제거하려는 계획을 또 연기했다. 이번에도 규제 문제를 이유로 꼽았다. 최근 구글은 크롬 브라우저와 안드로이드 OS에서 서드파티 신원 추적 소프트웨어인 쿠키를 없애는 계획을 다시 한번 연기해 2025년까지 미룬다고 밝혔다. 업체는 이에 대해 "업계와 규제 기관, 개발업체의 여러 피드백을 조정하는 것과 관련된 지속적인 문제 때문“이라고 설명했다. 구글은 2019년까지만 해도 서드파티 쿠키 사용을 제한하고 2022년까지 크롬과 기타 크로미움 오픈소스 브라우저에서 단계적으로 쿠키를 제거하기로 했다. 그러나 2020년에 개인정보 보호 샌드박스 이니셔티브를 통해 쿠키 제거 계획을 연기한 데 이어 2022년에 2023년으로, 2023년에는 2024년 하반기로 계획을 미뤘다. 올 1월에는 사용자를 식별하고 사용자의 습관을 파악하기 '쿠키의 대안'을 찾겠다고 다시 밝혔지만, 결국 쿠키를 없애는 계획을 또 미루기로 했다. 이에 대해...
에이서 아스파이어 고 15(Aspire Go 15)는 아스파이어 제품군 중 가장 저렴한 최신 노트북으로, 컴퓨터 사양에 대한 요구 사항이 크지 않은 사용자에게 간단한 컴퓨팅 플랫폼을 제공한다. 시작가가 300달러(약 41만 원)로 저렴하며, 하드웨어 사양은 저전력 E-코어에만 의존하는 구형 앨더 레이크 기반 인텔 프로세서, NVMe SSD 대신 UFS 스토리지를 사용하는 등 가격에 걸맞다. 그럼에도 불구하고 아스파이어 고 15는 일상적인 검색과 업무를 충분히 처리할 수 있는 상당히 유능한 제품이다. 세부사양 및 기능 아스파이어 고 15는 사양 구성이 다양하지 않다. 인텔 기반 15인치 모델(AG15-31P로 표시됨)은 하이퍼스레딩(hyperthreading)을 지원하지 않고 클럭 속도가 제한적인 E-코어만 있는 인텔 코어 i3-N305를 탑재한 저사양 인텔 프로세서를 탑재하고 있다. 기본적으로 윈도우 11 홈 S 모드로 제공되지만, 필요한 경우 표준 윈...
회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512 | 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일
발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규 | 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950
Copyright © 2024 International Data Group. All rights reserved.