[Dev, iOS] iOS 18+에서 앱 아이콘 커스텀하기 Any, Dark, Tinted
·
Dev/iOS
애플의 소프트웨어는 기능적인 부분뿐만 아니라 심미적인 요소에도 상당히 신경을 쓴다. 2017년 출시한 iOS 10.3에서는 앱 개발자가 유저에게 대체 가능한 아이콘 디자인을 설정할 수 있는 기능을 도입하였다. 이로 인해 서드 파티 앱 일부는 사용자가 원하는 디자인의 아이콘을 선택할 수 있었다. 2년 뒤 출시된 iOS 13에서는 새로이 다크모드라는 개념을 도입하면서 한밤 중 쨍한 화면을 봤을 때 느끼는 불편함과 동시에 기존에 어둡게 화면을 사용하는 유저들의 니즈도 만족시켰다. 하지만 단일 앱 아이콘 디자인을 제공하는 서드 파티 앱의 앱 아이콘을 시스템에서 마음대로 수정할 수는 없었다. 하지만 그로부터 5년 뒤 출시된 iOS 18에서는 (그로부터 다른 여러 커스터마이징 기능이 추가되었지만) 드디어 배경화면에..
[Dev, iOS] Xcode - Missing file libarclite_iphoneos.a 오류 대응하기
·
Dev/iOS
예전에 개발한 앱을 좀 다듬어볼까 하고 오랜만에 빌드해봤는데 갑자기 오류가 딱! 발생했다. 오래돼서 그러려니 하고 Podfile도 업데이트 하고 deployment target 버전도 올리고 ChatGPT가 하라는 대로 별 짓 다해봤는데 해결이 안되더라. 그런데 그냥 스택 오버플로우에 검색해보니 바로 나온다. 기존 Podfile 에 다음 코드를 추가해 준다. post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_..
[SKT FLY AI Challenger] 5기 수료생의 다음 기수를 위한 궁금한 점, 꿀팁 모음
·
Life
최근 문의도 많이 오고 (거짓말) 댓글도 달리고 해서 (거짓말) 까먹기 전에 꿀팁이나 궁금할 것 같은 점들을 적어볼까 한다 (물 안 들어와도 노 젓기). 주관적이거나 기수별로 상이할 수 있으므로 참고만 하시길 자취, 숙소(24. 11. 11 추가)아마 이 질문이 가장 많았던 것 같다. 아무래도 전국에서 지원을 하고 사옥으로 출퇴근해야 하니 말이다. 나는 본가가 인천이라 편도 1시간 40분 걸려서 왔다 갔다 했었다. 나처럼 멀리 살지만 왔다 갔다 했던 친구는 수원, 고양, 구리 정도였던 것 같다. 서울 끝자락에서 오는 친구들까지 해서 우리 기수는 편도 1시간 40분 정도 걸리는 선이 마지노선이었다. 지방에서 온 친구들은 보통 신림에 단기로 숙소를 임대했다! 끝나고 취준을 이어하는 친구는 반년 정도를 계약했..
[LLM] 트랜스포머 구조 파헤치기 (4) - 인코더와 디코더
·
AI
[LLM] 트랜스포머 구조 파헤치기 (1) - 텍스트를 임베딩 (Embedding)으로 변환하기Large Language Model (이하 LLM)이라는 단어가 나올 수 있는 배경은 역시 트랜스포머 구조가 등장하고 나서부터다. 우리가 쉽게 ChatGPT를 사용하는 것과는 달리 LLM의 중추가 되는 트랜스포머 구조는 기dusanbaek.tistory.com [LLM] 트랜스포머 구조 파헤치기 (2) - 어텐션 (Attention) 이해하기[LLM] 트랜스포머 구조 파헤치기 (1) - 텍스트를 임베딩 (Embedding)으로 변환하기Large Language Model (이하 LLM)이라는 단어가 나올 수 있는 배경은 역시 트랜스포머 구조가 등장하고 나서부터다. 우리가dusanbaek.tistory.com ..
[LLM] 트랜스포머 구조 파헤치기 (3) - 정규화와 피드 포워드 층
·
AI
[LLM] 트랜스포머 구조 파헤치기 (1) - 텍스트를 임베딩 (Embedding)으로 변환하기Large Language Model (이하 LLM)이라는 단어가 나올 수 있는 배경은 역시 트랜스포머 구조가 등장하고 나서부터다. 우리가 쉽게 ChatGPT를 사용하는 것과는 달리 LLM의 중추가 되는 트랜스포머 구조는 기dusanbaek.tistory.com  [LLM] 트랜스포머 구조 파헤치기 (2) - 어텐션 (Attention) 이해하기[LLM] 트랜스포머 구조 파헤치기 (1) - 텍스트를 임베딩 (Embedding)으로 변환하기Large Language Model (이하 LLM)이라는 단어가 나올 수 있는 배경은 역시 트랜스포머 구조가 등장하고 나서부터다. 우리가dusanbaek.tistory.com..
[LLM] 트랜스포머 구조 파헤치기 (2) - 어텐션 (Attention) 이해하기
·
AI
[LLM] 트랜스포머 구조 파헤치기 (1) - 텍스트를 임베딩 (Embedding)으로 변환하기Large Language Model (이하 LLM)이라는 단어가 나올 수 있는 배경은 역시 트랜스포머 구조가 등장하고 나서부터다. 우리가 쉽게 ChatGPT를 사용하는 것과는 달리 LLM의 중추가 되는 트랜스포머 구조는 기dusanbaek.tistory.com 지난 시간에는 텍스트를 어떻게 임베딩으로 변환하는지에 대해 알아보았다. 이번 시간에는 임베딩 벡터를 바탕으로 단어들이 서로를 어떻게 이해하고, 그 속에서 어텐션 메커니즘을 통해 관련성을 어떻게 만들어나가는지에 대해 알아보자. 쿼리, 키, 값 (Query, Key, Value) 데이터베이스를 다루는 사람이라면 쿼리라는 단어가 익숙할 것이다. 요청, 질문,..
[LLM] OpenAI API (3) - 파이썬 코드로 호출해 보기
·
AI
ChatGPT를 내가 개발하고 있는 서비스에서 호출해서 사용하려면 어떻게 해야 할까? 현재 OpenAI에서는 Curl, Node.js 그리고 Python 이렇게 세 종류의 API를 제공하고 있으며, 이 중 Python에서 사용하는 방법을 정리해보려 한다.  [LLM] OpenAI API (1) - API key 발급하기ChatGPT를 내가 개발하고 있는 서비스에서 호출해서 사용하려면 어떻게 해야 할까? 현재 OpenAI에서는 Curl, Node.js 그리고 Python 이렇게 세 종류의 API를 제공하고 있으며, 이 중 Python에서 사용하는 방dusanbaek.tistory.com [LLM] OpenAI API (2) - Playground를 사용해 보자ChatGPT를 내가 개발하고 있는 서비스에서 ..
[LLM] OpenAI API (2) - Playground를 사용해 보자
·
AI
ChatGPT를 내가 개발하고 있는 서비스에서 호출해서 사용하려면 어떻게 해야 할까? 현재 OpenAI에서는 Curl, Node.js 그리고 Python 이렇게 세 종류의 API를 제공하고 있으며, 이 중 Python에서 사용하는 방법을 정리해보려 한다. 그전에 앞서 OpenAI는 내가 적용해보려 하는 태스크를 간단히 테스트해 볼 수 있는 Playground를 제공해 주는데, 이에 대해 자세히 알아보자.  [LLM] OpenAI API (1) - API key 발급하기ChatGPT를 내가 개발하고 있는 서비스에서 호출해서 사용하려면 어떻게 해야 할까? 현재 OpenAI에서는 Curl, Node.js 그리고 Python 이렇게 세 종류의 API를 제공하고 있으며, 이 중 Python에서 사용하는 방dusa..
[LLM] OpenAI API (1) - API key 발급하기
·
AI
ChatGPT를 내가 개발하고 있는 서비스에서 호출해서 사용하려면 어떻게 해야 할까? 현재 OpenAI에서는 Curl, Node.js 그리고 Python 이렇게 세 종류의 API를 제공하고 있으며, 이 중 Python에서 사용하는 방법을 정리해보려 한다. 그전에 앞서 외부에서 ChatGPT를 사용하기 위해 필요한 API key를 발급받는 법을 알아보자. OpenAI API  23년 3월에 ChatGPT가 공개된 후, 지금까지 다양한 모델들이 쏟아져 나왔다. 웹 사이트에서는 GPT-3.5-turbo 모델이 무료로 제공되지만 이렇게 API로 호출해서 사용할 때에는 이마저도 과금이 된다. 본인이 제공하려는 서비스의 적정선에 맞춰 원하는 모델을 고르면 된다. 자세한 가격은 여기에서 확인해 볼 수 있다. API ..
[LLM] 트랜스포머 구조 파헤치기 (1) - 텍스트를 임베딩 (Embedding)으로 변환하기
·
AI
Large Language Model (이하 LLM)이라는 단어가 나올 수 있는 배경은 역시 트랜스포머 구조가 등장하고 나서부터다. 우리가 쉽게 ChatGPT를 사용하는 것과는 달리 LLM의 중추가 되는 트랜스포머 구조는 기존의 인공 신경망만큼 이해하기 쉬운 개념은 아니다. 따라서 다음에 두고두고 찾아볼 수 있게 최대한 쉽게 정리해보려 한다.  트랜스포머는 자연어 처리를 위한 모델이다. 자연어 처리를 위한 시도는 트랜스포머가 처음이 아닌데, 이전에는 RNN이나 LSTM 등을 사용한 seq2seq 모델이 있기도 하였다. 하지만 seq2seq 모델은 입력을 순차적으로 처리해야 하기 때문에 연산 속도가 느리다는 것, 그리고 입력이 길어질수록 성능이 떨어지거나 학습이 불안정하다는 단점이 있었다. 이를 해결한 것..