{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/sockeye-a-toolkit-for-neural-machine","title":"Sockeye: A Toolkit for Neural Machine Translation","arxiv_id":"1712.05690","date":"2017-12-15","proceeding":null,"authors":["Felix Hieber","Tobias Domhan","Michael Denkowski","David Vilar","Artem Sokolov","Ann Clifton","Matt Post"],"abstract":"We describe Sockeye (version 1.12), an open-source sequence-to-sequence\ntoolkit for Neural Machine Translation (NMT). Sockeye is a production-ready\nframework for training and applying models as well as an experimental platform\nfor researchers. Written in Python and built on MXNet, the toolkit offers\nscalable training and inference for the three most prominent encoder-decoder\narchitectures: attentional recurrent neural networks, self-attentional\ntransformers, and fully convolutional networks. Sockeye also supports a wide\nrange of optimizers, normalization and regularization techniques, and inference\nimprovements from current NMT literature. Users can easily run standard\ntraining recipes, explore different model settings, and incorporate new ideas.\nIn this paper, we highlight Sockeye's features and benchmark it against other\nNMT toolkits on two language arcs from the 2017 Conference on Machine\nTranslation (WMT): English-German and Latvian-English. We report competitive\nBLEU scores across all three architectures, including an overall best score for\nSockeye's transformer implementation. To facilitate further comparison, we\nrelease all system outputs and training scripts used in our experiments. The\nSockeye toolkit is free software released under the Apache 2.0 license.","url_abs":"http://arxiv.org/abs/1712.05690v2","url_pdf":"http://arxiv.org/pdf/1712.05690v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/awslabs/sockeye","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/Izecson/saml-nmt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"unanswered"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/Izecson/sockeye-1.16.6","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/StatNLP/joeynmt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/ZurichNLP/sockeye","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/benjaminbeilharz/hierarchical-reinforcement-learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/ducthanhtran/sockeye_document_context","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/jarl93/joeynmt-modified","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/joeynmt/joeynmt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/juliakreutzer/joeynmt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/nrc-cnrc/sockeye-multisource","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"unanswered"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/penny9287/sockeye","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"unanswered"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/songchujun/joeynmt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/xingniu/sockeye","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"unanswered"}},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/yunsukim86/sockeye-noise","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":null},{"paper_slug":"sockeye-a-toolkit-for-neural-machine","repo_url":"https://github.com/yunsukim86/sockeye-transfer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mxnet","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"nmt","task_name":"NMT"},{"task_slug":"translation","task_name":"Translation"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1712.05690","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}