Machine Learning Engineer
at OPSWAT
- Location
- Ho Chi Minh City, Ho Chi Minh City, Vietnam
- Posted
- 5d ago
at OPSWAT
<div class="content-intro"><p><span class="acronym-highlight">OPSWAT</span>, a global leader in IT, <span class="acronym-highlight">OT</span>, and <span class="acronym-highlight">ICS</span> critical infrastructure cybersecurity, delivers an end-to-end platform that gives public and private sector organizations and enterprises the critical advantage needed to protect their complex networks, secure their devices, and ensure compliance. Over the last 20 years our commitment to innovative technology has earned the trust of more than 1,700 organizations, governments, and institutions globally, solidifying our role in protecting the world’s critical infrastructure and securing our way of life.</p></div><p><strong>The Position</strong></p> <p><strong>MetaDefender Core</strong> is OPSWAT's file security platform, trusted where the stakes are highest: nuclear plants, defense networks, and the banks that move the world's money. The most sensitive of those customers cannot send a single byte to anyone's cloud, so the AI must run entirely on their hardware, inside the product. </p> <p>This role is for the engineer who would rather own a model than call someone else: you build the training data, the fine-tuning, the evaluation, and you make the call on what ships. Every AI assistant you have ever used lives in a data center; yours will run on the customer's own hardware, inside some of the most protected networks in the world. </p> <p><strong><span data-contrast="auto">What You Will be Doing</span></strong><span data-ccp-props="{}"> </span></p> <ul> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Own the model track end to end: training data, fine-tuning runs, evaluation, and release, with scope and ownership growing by level.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Build and </span><span data-ccp-parastyle="List Bullet">maintain</span><span data-ccp-parastyle="List Bullet"> the evaluation gate for every model </span><span data-ccp-parastyle="List Bullet">to change</span><span data-ccp-parastyle="List Bullet"> and</span><span data-ccp-parastyle="List Bullet"> make it something the team trusts more than its own intuition.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Build the data pipelines that produce training datasets, enforcing grounding so the model can only state what it has actually read.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Shape how the agent behaves: its instructions, its tool contracts, and how it recovers when the model gets something wrong.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Own the model's security posture: harden it against prompt injection and misuse, make sure it never exposes internal information, and never lets itself be steered into guiding users toward unsafe actions.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Serve models on constrained customer hardware: quantization, inference runtimes, and the memory / latency / quality trade-off.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Ship into a production Rust service, collaborating closely with the engineering team, Product Management, and QA.</span></span><span data-ccp-props="{}"> </span></li> </ul> <p><strong><span data-contrast="auto">What We Need from You</span></strong><span data-ccp-props="{}"> </span></p> <ul> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Bachelor's degree in a technical field or equivalent practical experience.</span></span> </li> <li>Experience fine-tuning open-weight LLMs using LoRA, QLoRA, or similar techniques.</li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Strong Python, including building data pipelines for training datasets.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Experience keeping model output grounded: retrieval-backed generation, hallucination control, and output traceable to a source the model </span><span data-ccp-parastyle="List Bullet">reads</span><span data-ccp-parastyle="List Bullet">.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Experience with LLM serving and inference (</span><span data-ccp-parastyle="List Bullet">e.g.</span><span data-ccp-parastyle="List Bullet"> </span><span data-ccp-parastyle="List Bullet">vLLM</span><span data-ccp-parastyle="List Bullet">, </span><span data-ccp-parastyle="List Bullet">Ollama</span><span data-ccp-parastyle="List Bullet">), including quantization and the memory / latency / quality trade-off on constrained hardware.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Familiarity with tool-calling / agent-based LLM applications.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Ability to design and run model evaluations for non-deterministic systems: you can name a metric you designed and the number you moved.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Working knowledge of SQL.</span></span><span data-ccp-props="{}"> </span></li> <li><span data-contrast="auto"><span data-ccp-parastyle="List Bullet">Strong verbal and written communication skills in English: the language of the team, the docs, and th