About
Hey! I'm Pittawat Taveekitworachai, but you can just call me Pete. I'm currently living in Bangkok, Thailand 🇹🇭, but previously used to live in Shiga, Japan 🇯🇵. I always believe in the power of technology to enrich human life ✨. In my free time, I enjoy playing video games 🎮, watching movies and series 🎥, and reading books 📚.
I have just graduated from a Master's degree at Intelligent Computer Entertainment, Ritsumeikan University, Japan, working at the intersection of cutting-edge technology and humanity. I received the Japanese Government (MEXT) Scholarship covering the entire period of my study. I was under the supervision of Prof. Ruck Thawonmas. I'm working on various aspects of large language models (LLMs) 🤖 and prompt engineering ✏️, as well as their applications. I also collaborated with various researchers in Thailand 🇹🇭, Japan 🇯🇵, Italy 🇮🇹, Australia 🇦🇺, and the US 🇺🇸. Currently, I'm currently interesting in:
-
💡 Creativity and 💫 hallucination in 🤖 LLMs
- Does LLM require hallucinations to perform certain tasks effectively?
- How does hallucination affect LLMs differently at each scale?
- Are there any connections between hallucination and creativity in LLMs?
-
An integration of 🎻 classical algorithmic approaches with 🤖 LLMs
- How can we combine classical algorithms with LLMs to perform complex tasks?
- Do all algorithms work well with LLMs?
- When we view LLMs as black-box magic functions, how does it change the way we design algorithms?
-
⚖️ LLM evaluation
- Can LLM reliably produce structured output as tasks become more complex?
- How does scale affect LLMs in various tasks?
- How can we automatically evaluate LLMs in more complex tasks?
-
🪄 Prompt engineering
- Why does prompt engineering work?
- If chain-of-thought and few-shot prompting can be viewed as localization in latent space, can we apply the opposite for exploration (creativity)?
- How can we efficiently generate optimal prompts automatically?
-
🧳 LLM Applications
- Multi-modality in procedural content generation
- Using LLMs as aesthetically pleasing educational tools
- Simulator-Based Driving Assessment for Post-Stroke Patients
I also believe in open science and democratizing knowledge. I believe in software craftsmanship and always strive to improve it. I am experienced in designing reproducible, resumable, and fault-tolerant software, often requiring long evaluations of LLMs experiments spanning over months and across computers, while ensuring a smooth experience for software users who may extend and build upon my software for further research. This is also why my software is designed with extensibility and simplicity in mind. This philosophy is reflected in various research projects that serve as platforms and frameworks for researchers to rely upon.
Software Engineering
I'm very familiar with Python and TypeScript as well as their associated technologies, libraries, and frameworks. Python is my primary language for many of my software for research. I'm familiar with PyTorch and TensorFlow as well as HuggingFace's transformer. I also had some experience with MATLAB and R. I also perform most of my data tasks like EDA, data pre-processing, and data visualization in Python using various packages, such as numpy, pandas, matplotlib, seaborn, and more.
I am experienced in full-stack web development. My tools of choice for web application development are React.js, Vue.js, and Node.js. I also used to write back-end services in Python (Django and FastAPI), Go, and Java, in addition to JavaScript and TypeScript. I also have experience using Astro (for this website) as well as meta-frameworks such as Next.js and Remix. For the front-end, I use Tailwind and native CSS. I used to work with Bootstrap and Semantic UI.
Previously, I also had experience with mobile application development in native Android (Java) as well as cross-platform frameworks like React Native and Flutter using Dart. I also do user interface and user experience design. My primary tool is Figma, but I also used to use Adobe XD and Adobe Photoshop.
I also had experience in computer network and computer security as well as software testing and automation. My tools of choice include Jest, Cypress, Selenium, BeautifulSoup, and Playwright. I am also familiar with serverless services like Firebase. I also utilize technologies like Git and Docker to help me streamline my workflow. I also work with both SQL and NoSQL, such as MongoDB, as well as graph databases like Neo4j. Multiple of my research projects also utilize various vector databases, such as Pinecone, Milvus, and Qdrant.
Educational and Related Experiences
Previously, I earned my Bachelor's degree in Computer Science with first-class honors from King Mongkut's University of Technology Thonburi, Thailand, supported by the prestigious 💎 Petchra Pra Jom Klao Scholarship - Distinguished Academic Capabilities. Additionally, I received the 💎 Jia Ra Nai Petchra Scholarship - Academic Distinguished Award for my outstanding performance throughout the academic year, being recognized as the top student in the program for a specific year. Upon my gradution, Upon graduation, I was honored with the 🎖️ Honor Award for Academic Distinguished Performance by the Prapa-Sompong Foundation, acknowledging me as the top student among the graduates of the same year. Furthermore, my name was inscribed on the Wall of Honors at the university's president building.
Extra-curricular Activities
During my time pursuing my Bachelor's degree, I was also involved in a medical research project on HFMD in collaboration with the Faculty of Medicine at Siriraj Hospital, Mahidol University, Thailand. Additionally, I had the opportunity to intern at LINE Company (Thailand) as a software engineer, where I worked on the full-stack development of their e-commerce website and dealt with complex systems. Furthermore, I am honored to have been selected as part of the inaugural batch of Google Developer Student Clubs Leads in Thailand for my university. This provided me with the opportunity to lead a team and organize various events over the years, as well as connect with other leads across the country and region.
Research
I had the opportunity to join the Innovative Cognitive Computing Laboratory at the School of Information Technology, King Mongkut's University of Technology Thonburi, Thailand, as a research assistant. I worked on various projects, including AR poster development, web development, and natural language processing. This experience was my first official exposure to the research community and motivated me to pursue a Master's degree further.
Volunteer
I volunteer for various occasions because I believe in paying it forward and helping others. One of my volunteering experiences includes organizing and developing web applications for Junior Programmer Camp XV, an annual camp organized by computer science students at the School of Information Technology, King Mongkut's University of Technology Thonburi, targeted at senior high school students throughout Thailand. In this camp, participants have the opportunity to be exposed to various activities that help them familiarize themselves with CS concepts and the university's atmosphere. I oversee the IT aspect of the camp and lead the development team. Alongside two other teammates, we developed the main website for the camp, including the registration system. Additionally, we created a camp management system to facilitate staff in the participant selection process.
During the COVID-19 pandemic, I volunteered to help develop a web application for the university. The university needed a system to manage donated supplies that would be distributed across the country. As a lead, I directed a team of eight members to urgently develop the system, as the situation was critical. This support system not only helps the university manage the supply but also allows hospitals to request additional supplies. Throughout the period, we also provided maintenance services. The code is accessible on GitHub. Additionally, I currently serve as a reviewer for conferences to contribute back to the communities.
Life-Long Learning
I also enjoy taking various online courses throughout the years (as can be seen from certificates on my LinkedIn.) I enjoy learning and its process. The feeling of understanding something new satisfies me. It also helps me become better at what I do and enables me to be creative and connect various seemingly unrelated topics together to come up with new ideas. This is also a part of my personal goal revolving around life-long learning, and I believe that understanding leads to a better life and understanding of other people and things. During my time pursuing my Bachelor's degree, I also served as a tutor on various topics in computer science for my classmates to help them prepare for upcoming exams. I believe that sharing knowledge not only helps other people but also helps me understand the topic better.