The Development Philosophy of AI inside
At AI inside, products are constantly evolving, such as the “Learning Center” for creating AI models without code and “DX Suite” with enhanced AI-OCR functions. In this article, we interviewed one of our engineers who supports this speedy evolution and asked his development philosophy, what he finds rewarding, and the challenges to take on.
Studied image recognition and pattern recognition in graduate school and worked as an embedded engineer after graduation. He joined AI inside as an AI researcher in 2018. Started being involved with application development afterward and was in charge of developing OCR models and inference infrastructure development for “DX Suite.” He is currently the VP of the Learning Center Development Unit and is engaging in developing both “Learning Center” and “Workflows.”
Optimal team structure realizing DevOps
— Please tell us about your current work.
Among the services of AI inside, there’s the “Learning Center,” an AI development service for creating AI models without code, and “Workflows,” a software for using AI created by “Learning Center.”
Learning Center Development Unit, which I manage as VP, is in the team of the offense troop for the development of “Learning Center” and “Workflows.”
For “Workflows,” we are working with other development units on the base for the official release of Workflows. I am mainly involved in the design and implementation of the organizational load balancing system and performance tuning. Until a while ago, I was also working on a project to add new features, where I was in charge of the leading implementation.
For the “Learning Center,” I’m involved in the entire process of defining requirements, designing, implementing, and developing. I work together with my team members and develop the back-end, inference, and training infrastructure.
Since I’m involved in developing two products, I value communicating with many different people every day. With the business side members, we discuss the customers’ needs. With our design team, we often discuss the critical UI/UX aspects for deciding on the specifications.
— What kind of structure and environment are you usually in when working on development?
The Learning Center’s development team has worked hard to create an optimal development system through trial and error, and DevOps* has been working well. With our other unit’s support in infrastructure development and operations, we can code and automate most infrastructure construction and deployment using Kubernetes, Argo, Terraform, Github Actions, and others. As we move forward with DevOps and CI/CD*, release work has become more stable. I feel that we have created an environment where developers can focus more on development.
*DevOps: a set of development and operation practices to shorten the systems development cycle and provide continuous delivery with high software quality.
*CI/CD: Continuous Integration/Continuous Delivery. Methods and concepts to make software development and other operations more accurate and efficient.
Creating products that deliver “value” to users
— What kind of ideas and thoughts do you have when working on your daily development work?
As a business company providing AI services, we need to think about “what kind of value we can create for our users.” To improve the quality of our products, I feel that the entire development team is committed to working on development every day while thinking about the value we provide.
For example, suppose we receive a request to develop a function and proceed with the development without considering the value. In that case, we may end up with a product that no one will use. Therefore, when I receive a request, I try to stop and think about realizing our vision and the value we can provide to users.
— What work do you find rewarding?
Right now, the product development itself is something rewarding for me. The “Learning Center” is currently a product in phase 0→1 to 1→10. We are frequently conducting a feedback loop on hypothesis testing to see what functions users will accept.
Working on continuous hypothesis testing is similar to when training models for DeepLearning. DeepLearning trains by hypothesizing and verifying accuracy from a large number of patterns, including architectures and hyperparameters. I feel it’s worth the effort to create a good model and a good user experience through this hypothesis testing process.
To achieve DevOps and MLOps for all products
— Do you have any challenges you’d like to take on in the future?
One thing I’d like to challenge is to realize a high level of DevOps for all of our products, and not only for “Learning Center.” As of the moment, we have only been able to achieve this for a few of our products, so further on, I’d like to realize this for all to improve the efficiency of development by automating tests and releases.
Another thing is I want our company to be in the frontline of MLOps*. I feel joy at work when I’m streamlining and automating development, so working on MLOps is my motivation. Also, I believe this leads to our Vision “AI inside X (X = all people and things),” so I would like to take on challenges to realize the company vision.
*MLOps: a set of practices that aims to deploy and maintain machine learning models in production reliably and efficiently
At AI inside, we are actively recruiting engineers. Our HR and development members are always available for online interviews, so if you are interested, please contact us. We look forward to hearing from you!
AI inside career page: https://inside.ai/en/career/
Open Positions: https://herp.careers/v1/aiinside
(English positions at the bottom)