Survivejs interview with @Wenheli, a member of Pipcook’s core team

SurviveJS is a platform to promote and connect the front-end community. It uses interviews/invitations from front-end open source framework contributors to show more people what the front-end is like today.

There’s a lot of excitement about machine learning and its applications. The question is what you can do and where and how you can use it. To learn more, we spoke with Pipcook core member Lee Wenhyuk.


Would you like to introduce yourself?

Hi, my name is Eric li. I am currently working as an engineer in Alibaba. My work involves front-end development, the combination of front-end developers and artificial intelligence (AI). One of my tasks here was to help develop Pipcook, an open source machine learning (ML) and deep learning (DL) framework for front-end developers.


How do you describe Pipcook to people who have never heard of it?

Pipcook is a toolset that helps you develop, train, and deploy machine learning models without much prior knowledge. The entire workflow is highly abstract without loss of extensibility. It enables you to easily use popular Python-based machine learning solutions such as NumPy, Scipy-Learn, Jieba, and TensorFlow through the API.


How does Pipcook work?

Since the framework was developed for the front end and is intended for Node.js developers, while most machine learning libraries are written in Python, we created Boa to make it easy for you to use them in JavaScript. Boa allows you to import and call Python modules and methods directly from JavaScript. This way, we can leverage the machine learning ecosystem in Python without having to worry about learning a new language. In charge of dataWe introduce a Pipeline concept, which consists of DataCollect, DataProcess, DataAccess DatasetProcess, ModelDefine, ModelTrain, and ModelEvaluate. It provides an abstraction of the typical machine learning model lifecycle. Pipcook developers (including the community) provide the most common implementations of these parts (we call them plug-ins), and people who want to train models can either use existing pipelines or build pipelines with plug-ins in combination, much like Legos.


How is Pipcook different from other solutions?

Pipcook lets you use both JavaScript and Python Because Pipcook allows you to write models using JavaScript with Python modules, we can benefit from powerful libraries and packages in both ecosystems. Incredibly, you could decide to put some of your IO oriented work in Node.js and more DL/ML training-related work in Python, allowing you to take full advantage of both.

Pipcook introduces pipelines and plug-ins to machine learning workflows, which eliminates the complexity of the development model and makes plug-ins highly reusable.

Pipcook uses cutting-edge technology Since Pipcook is an experimental project, we can use the latest technologies and languages to develop our project, which means we use Rust, WASM, WASI, WebGPU, etc.


Why did you develop Pipcook?

I love JavaScript and its “magic” syntax. However, due to the rich Python module and ecosystem, I had to develop machine learning models in Python. Pipcook gave me a new way to model machine learning in JavaScript without losing the Python ecosystem. So far, we’ve seen a clear trend of AI entering every corner of the world. On the front end, we still don’t have an industry-level framework. Most machine learning frameworks are still available for people with relevant knowledge. I wanted to provide a framework that could be widely used by the JavaScript (Node.js and browser) world without worrying about the complex theory behind the model, which I believe is the right way to deliver the value of AI to the world.


What’s next?

We just officially launched Pipcook a few months ago. In its first release, it provides users with out-of-the-box capabilities to train models for image classification, style transformation, text analysis, and more without much prior knowledge. Therefore, at this stage, we are trying to strive for user experience and development experience, we are trying to optimize training efficiency and ease the difficulty of developing plug-ins. In addition, we are building an all-in-one toolkit that includes viewing training logs, examining and visualizing model structures, and model pruning and compression.


What does the future hold for Pipcook and Web development in general? Can you see any particular trends?

In the future, machine learning must become more tied to the Web. Distributed training, Federated Learning, and on-end inference engines will all be developed on the Web because they are very much in line with the nature of the Internet. To quote Tim Berners-Lee: “Let’s redistribute power to individuals!” We are trying to build a next-generation programming paradigm that will allow Web developers to take full advantage of the Python and Javascript integrated development environment and bring the power of machine learning and its benefits to everyone.


What advice would you give programmers for Web development?

The Web is essentially a community based on the ideas of sharing, connecting, and open source. So try to connect, join and use the open source community you’re using!


Who should I interview next?

You can interview developers who are just starting out with open source contributions.


Any final comments?

Thank you for the interview and the opportunity to share our story with Pipcook.


conclusion

Thanks, Wenhe! I find everything you do with Pipcook so admirable. I believe it can serve as a bridge to machine learning for JavaScript developers without having to delve into Python-based solutions.