commit 51d0bb4f6058e962f09d2c2fc54480c6160d245b
parent 984e39437fb51402105caabe745ae827508d6399
Author: Silas Brack <s174433@student.dtu.dk>
Date: Thu, 23 Mar 2023 13:36:19 +0100
Changed style, updated CV.
Diffstat:
| M | cvs/full.tex | | | 115 | ++++++++++++++++++++++++++++++++++++++----------------------------------------- |
| D | cvs/minimal.tex | | | 98 | ------------------------------------------------------------------------------- |
| M | letters/cover_letter.tex | | | 35 | ++++++----------------------------- |
| M | simple.sty | | | 43 | +++++++++++++++++++++++-------------------- |
4 files changed, 85 insertions(+), 206 deletions(-)
diff --git a/cvs/full.tex b/cvs/full.tex
@@ -1,6 +1,9 @@
\documentclass[10pt, a4paper]{article}
\usepackage{simple}
+\usepackage[detect-none]{siunitx}
+\sisetup{range-phrase=--}
+
\begin{document}
\heading{Silas Brack}
@@ -30,115 +33,109 @@
% - Independent
\newtopic
-{Data scientist (Student assistant)}
-{Sep 2021 -- Present}
-{Saxo Bank A/S -- Department of Predictive Modelling and Client Research}
+{Data Scientist (Senior Associate)}
+{Apr 2023 -- Present}
+{Saxo Bank A/S --- Department of Predictive Modelling and Client Research}
+{Copenhagen, Denmark}
+{\begin{accomplishments}
+ \item Responsible for user platform behavioural data and stakeholder management for exposing this data to the business for solving business problems.
+ \item Responbile for initiating, implementing and productionising representation learning on user platform behavioural data for client modelling.
+ \end{accomplishments}}
+
+\newtopic
+{Data Scientist (Student Assistant)}
+{Sep 2021 -- Mar 2023}
+{Saxo Bank A/S --- Department of Predictive Modelling and Client Research}
{Copenhagen, Denmark}
{\begin{accomplishments}
- % \item Full-stack data science in Python, databases and data engineering, data cleaning, modelling, and visualising and presenting results under an agile framework.
- \item Trained LightGBM models using Spark and DataBricks for processing and training on data in Kafka, Microsoft Azure Data Lake, and Microsoft SQL Server databases containing hundreds of gigabytes of data.
- \item Defined and implemented MLOps infrastructure involving CI/CD, automated training, testing and deployment with Docker, Kubernetes and Airflow. Implemented model monitoring, outlier detection and data drift detection for time series.
- \item Upgraded existing LightGBM models to train in parallel, yielding a 2.25x reduction in training cost and a 1.5x-2x reduction in training time, significantly improving scalability.
- \item Trained Microsoft Custom Translator models and integrated their usage into the business, saving a budget of 3M\,DKK per year in translation fees.
- \item Won an internal Hackathon competition for improving client experience, developing a topic modelling system for finding similar stocks. This system was then containerised in Docker, orchestrated in Kurbernetes and exposed via OpenAPI, yielding a response time under 10 ms. It was then added to the official Saxo Bank trading and investing platforms, used by more than 660\,000 active clients.% This tool was found to increase customer engagement by XXX\%, thereby improving the Google Quality Score and reducing advertising costs by XXX€ per year.
+ \item Trained LightGBM models in Python using Spark and DataBricks on data in Kafka, Microsoft Azure Data Lake, and Microsoft SQL Server databases containing hundreds of gigabytes of data.
+ \item Upgraded existing LightGBM models to train in parallel using Spark and Synapse ML, significantly improving scalability; scheduled these models to train automatically using Airflow.
+ \item Developed a representation learning model for finding similar stocks, resulting in our team winning an internal Hackathon competition for improving client experience. This model was then packaged, containerised in Docker, orchestrated as a microservice in Kurbernetes and exposed via FastAPI/OpenAPI, yielding a response time of under \SI{10}{\milli\second}. As of March 2023, this system has been integrated into official Saxo Bank trading and investing platforms, which is used by more than \SI{750000}{} active clients.% This tool was found to increase customer engagement by XXX\%, thereby improving the Google Quality Score and reducing advertising costs by XXX€ per year.
\end{accomplishments}}
\newtopic
-{Software developer (Student assistant)}
+{Software Developer (Student Assistant)}
{Apr 2018 -- Aug 2021}
-{MAN Energy Solutions SE -- Department of Master Data and Management}
+{MAN Energy Solutions SE --- Department of Master Data and Management}
{Copenhagen, Denmark}
{
\begin{accomplishments}
- \item Automated data engineering tasks and data pipelines with ETL jobs using SSIS and Microsoft SQL Server, being responsible for 15-20 daily and weekly jobs.
- \item Accelerated data cleansing process by developing automated analytical data cleansing algorithms, saving an estimated 1000 man-hours of manual cleansing work. Increased fraction of cleansed data from 25\% to 50\%.
- \item Improved technical strategy planning with teams of manual data cleansers during work trip abroad. % More specific, demonstrate soft skills
- \item Created and maintained over 20 tools for data manipulation and visualisation using C\#, VBA, and Power BI.
+ \item Automated data engineering tasks and data pipelines with ETL jobs using SSIS and Microsoft SQL Server, being responsible for \SIrange{15}{20}{} jobs.
+ \item Communicated with data cleansing stakeholders to identify and automate the repetitive workflows which led to the most unnecessary time consumption, saving an estimated 1000 man-hours of manual cleansing work. Increased fraction of cleansed data from \SIrange{25}{50}{\percent}.
+ % \item Improved technical strategy planning with teams of manual data cleansers during work trip abroad. % More specific, demonstrate soft skills
+ \item Created and maintained over \SI{20}{} tools for data manipulation and visualisation using C\#.
\end{accomplishments}
}
\newsection{Projects}
\newtopic
-{\href{https://github.com/silasbrack/metric-laplace-approximation}{Uncertainty in image retrieval with Laplace approximation}}
-{Feb 2022 -- May 2022}
-{Supervised by Frederik Warburg and Søren Hauberg}
+{Large-Scale Laplace Approximations with Less Hessian Hacks}
+{Sep 2022 -- Mar 2023}
+{In collaboration with S{\o}ren Hauberg, Hrittik Roy, and others}
{Copenhagen, Denmark}
{\begin{accomplishments}
- \item Implemented Hessian calculations for metric learning losses for use for Laplace approximation in Bayesian neural networks (BNNs).
- \item Evaluated uncertainty estimates of trained models using metric Laplace approximation.
- % \item Published a paper to ICLR 2022.
+ \item Developed a novel method for computing the Laplace approximation using only Jacobian-vector products in JAX so as to sample from a multivariate normal distribution and compute the log-determinant of the Laplace covariance without explicitly instantiating this covariance.
+ \item Developed a robust method for evaluating the quality of the approximate sampling algorithm under different configurations.
+ % \item Formulated multiple preconditioning strategies for the approximate sampling algorithm and demonstrated their theoretical properties.
+ % \item Published a paper to NeurIPS 2023~{[2]}.
\end{accomplishments}}
\newtopic
-{\href{https://github.com/silasbrack/approximate-inference-for-bayesian-neural-networks}{Approximate inference for Bayesian neural networks}}
+{Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval}
{Feb 2022 -- May 2022}
-{Supervised by Michael Riis Andersen}
+{In collaboration with Frederik Warburg, Marco Miani, and S{\o}ren Hauberg}
{Copenhagen, Denmark}
{\begin{accomplishments}
- \item Implemented Bayesian inference methods for Bayesian neural networks, such as variational inference, deep ensembles, MultiSWAG, and the Laplace approximation.
- \item Evaluated on MNIST, Street View House Numbers (SVHN), and MURA datasets.
- \item Performed active learning for BNNs with different inference methods and acquisition functions.
- \end{accomplishments}}
-
-\newtopic
-{\href{https://github.com/silasbrack/normalizing-flows}{Variational inference using normalizing flows}}
-{Sep 2021 -- Dec 2021}
-{Supervised by Michael Riis Andersen}
-{Copenhagen, Denmark}
-{\begin{accomplishments}
- \item Implemented variational inference for different normalizing flows in PyTorch and Pyro and evaluated performance using the Evidence lower bound and Pareto-Smoothed Importance Sampling (PSIS) diagnostic.
- \item Evaluated the performance of different flows as a function of the number of parameters and analysed the effect of high-dimensional data on VI.
- \end{accomplishments}}
-
-\newtopic
-{\href{https://github.com/silasbrack/sota-neural-translation}{State-of-the-art neural translation}}
-{Oct 2020 -- Dec 2020}
-{Supervised by Valentin Liévin, Ole Winther}
-{Copenhagen, Denmark}
-{\begin{accomplishments}
- \item Implemented German-to-English machine translation seq2seq and transformer models with attention in Python.
- \item Benchmarked against Bert2bert using BLEU score.
+ \item Implemented Hessian calculations on contrastive loss for use for Laplace approximation in Bayesian neural networks.
+ \item Evaluated uncertainty estimates of trained models using the Laplace approximation for metric learning (LAM).
+ \item Published a paper to ICML 2023~{[1]}. arXiv: \href{https://arxiv.org/abs/2302.01332}{\texttt{2302.01332}}. Github: \href{https://github.com/FrederikWarburg/bayesian-metric-learning}{\texttt{FrederikWarburg/bayesian-metric-learning}}.
\end{accomplishments}}
\newsection{Education}
\newtopic
-{M.Sc. Mathematical modelling and computation}
-{Sep 2020 -- Present}
+{M.Sc. Mathematical Modelling and Computation}
+{Sep 2020 -- Feb 2023}
{Technical University of Denmark}
{Copenhagen, Denmark}
{\begin{accomplishments}
% \item \textsc{Gpa}: 8.7 / 12.
- \item Specialisation in \emph{Machine learning and signal processing}.
- \item Thesis: ``Effortless Bayesian Deep Learning: Tapping into the Potential of Modern Optimizers'' Advisor: Søren Hauberg.
+ \item Specialisation in \emph{machine learning and signal processing}
+ \item Thesis: ``Effortless Bayesian Deep Learning: Tapping Into the Potential of Modern Optimizers'', supervised by S{\o}ren Hauberg
\end{accomplishments}}
\newtopic
-{B.Sc. General engineering}
+{B.Sc. General Engineering}
{Sep 2017 -- Jun 2020}
{Technical University of Denmark}
{Copenhagen, Denmark}
{\small\begin{accomplishments}
% \item \textsc{Gpa}: 9.8 / 12.
\item Completed 35 ECTS of graduate-level courses in machine learning, statistics, mathematics, physics and econometrics.
- \item Specialisation in cyber materials.
- \item Thesis: ``Membrane capacitive desalination'' Advisor: Johan Hjelm.
+ \item Specialisation in \emph{cyber materials}
+ \item Thesis: ``Membrane Capacitive Desalination'', supervised by Johan Hjelm
\end{accomplishments}}
\newsection{Skills} % Should have all of these in your experience / projects
\begin{tabular}{lp{15.5cm}}
- \textbf{Languages} & Python, R, SQL, C\#, Java \\
- \textbf{Technologies} & Spark, Docker, Kubernetes, Airflow, Azure, SSIS, Power BI \\
- \textbf{Models} & Gradient-boosted trees (LightGBM), neural networks (PyTorch), collaborative filtering
+ \textbf{Languages} & Python, R, SQL, C\# \\
+ \textbf{Technologies} & Spark, Docker, Kubernetes, Airflow, git \\
+ \textbf{Models} & Gradient-boosted trees (LightGBM, XGBoost), neural networks (PyTorch, JAX), collaborative filtering
% \textbf{Other} & Relational databases \& indexing, machine learning operations, unit \& integration testing%, honestly just fill with whatever keywords are in job posting
\end{tabular}
-\newsection{Certificates}
+% \newsection{Certificates}
+
+% \begin{accomplishments}
+% \item Certificate of Proficiency in English (CPE), Cambridge English --- Grade: \textsc{A}
+% \end{accomplishments}
+
+\newsection{Publications}
\begin{accomplishments}
- \item Certificate of Proficiency in English (CPE), Cambridge English -- Grade: \textsc{A}
- \item Prémio ``Melhor Aluno'' Dr. António Cláudio -- Yearly Best Student Award (7x)
+ \item[{[1]}] Warburg et al. `Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval.' In: \textit{40\textsuperscript{th} International Conference on Machine Learning}. 2023.
+ % \item[{[2]}] Brack et al. `Large-Scale Laplace Approximations with Less Hessian Hacks' In: \textit{Advances in Neural Information Processing Systems}. 2023.
\end{accomplishments}
\end{document}
diff --git a/cvs/minimal.tex b/cvs/minimal.tex
@@ -1,98 +0,0 @@
-\documentclass[10pt, a4paper]{article}
-\usepackage{simple}
-
-\begin{document}
-
-\heading{Silas Brack}
-{
- Copenhagen, Denmark
- $\mid$
- \href{https://linkedin.com/in/silasbrack/}{linkedin.com/in/silasbrack/}
- $\mid$
- \href{mailto:silasbrack@gmail.com}{silasbrack@gmail.com}
- $\mid$
- \href{https://github.com/silasbrack/}{github.com/silasbrack/}
-}
-
-\newsection{Work experience}
-
-\newtopic
- {Data scientist}
- {Sep 2021 -- Jan 2023}
- {Saxo Bank A/S -- Department of Predictive Modelling and Client Research}
- {Copenhagen, Denmark}
- {\begin{accomplishments}
- \item Used Spark and DataBricks for training gradient boosting / LightGBM / XGBoost and neural network models on data in Kafka, Microsoft Azure Data Lake, and Microsoft SQL Server databases of hundreds of gigabytes of data.
- \item Won a Hackathon for improving client experience, developing a topic modelling system for finding similar stocks, productionized via Docker, Kurbernetes and OpenAPI, yielding a response time under 10 ms. It was then added to the official Saxo Bank trading and investing platforms, used by more than 660\,000 active clients. This feature was found to increase customer engagement by 0.5\%, thereby improving the Google Quality Score and reducing advertising costs by 500\,000€ per year.
- \end{accomplishments}}
-
-\newtopic
- {Software developer}
- {Apr 2018 -- Aug 2021}
- {MAN Energy Solutions SE -- Department of Master Data and Management}
- {Copenhagen, Denmark}
- {
- \begin{accomplishments}
- \item Accelerated data cleansing process by developing automated analytical data cleansing algorithms, saving an estimated 1000 man-hours of manual cleansing work. Increased fraction of cleansed data from 25\% to 50\%.
- \end{accomplishments}
- }
-
-\newsection{Projects}
-
-\newtopic
- {BADAM: A Plug-and-Play Optimizer for Bayesian Neural Networks}
- {Sep 2022 -- Jan 2023}
- {Supervised by Frederik Warburg and Søren Hauberg}
- {Copenhagen, Denmark}
- {\begin{accomplishments}
- \item Published ``BADAM: A Plug-and-Play Optimizer for Bayesian Neural Networks'' to NeurIPS 2023.
- \item As of February 2023, has 5000 downloads via pip.
- \end{accomplishments}}
-
-\newtopic
- {\href{https://github.com/silasbrack/metric-laplace-approximation}{Uncertainty in image retrieval with Laplace approximation}}
- {Feb 2022 -- May 2022}
- {Supervised by Frederik Warburg and Søren Hauberg}
- {Copenhagen, Denmark}
- {\begin{accomplishments}
- \item Published a ``Uncertainty in image retrieval with Laplace approximation'' to ICLR 2023.
- \end{accomplishments}}
-
-\newsection{Education}
-
-\newtopic
- {Ph.D. Machine learning}
- {Mar 2023 -- Apr 2026}
- {Technical University of Denmark}
- {Copenhagen, Denmark}
- {\begin{accomplishments}
- \item Supervised by Søren Hauberg.
- \end{accomplishments}}
-
-\newtopic
- {M.Sc. Mathematical modelling and computation}
- {Sep 2020 -- Jan 2023}
- {Technical University of Denmark}
- {Copenhagen, Denmark}
- {\begin{accomplishments}
- \item Specialisation in \emph{Machine learning and signal processing}.
- \item Thesis: ``BADAM: A Plug-and-Play Optimizer for Bayesian Neural Networks'' Advisor: Søren Hauberg.
- \end{accomplishments}}
-
-\newtopic
- {B.Sc. General engineering}
- {Sep 2017 -- Jun 2020}
- {Technical University of Denmark}
- {Copenhagen, Denmark}
- {\small\begin{accomplishments}
- \item Completed 35 ECTS of graduate-level courses in machine learning, statistics, mathematics, physics and econometrics.
- \end{accomplishments}}
-
-\newsection{Publications}
-
-\begin{accomplishments}
- \item Brack, et. al., \textit{BADAM: A Plug-and-Play Optimizer for Bayesian Neural Networks}, NeurIPS 2023
- \item Warburg, Miani, Brack, et. al., \textit{Uncertainty in image retrieval with Laplace approximation}, ICLR 2023
-\end{accomplishments}
-
-\end{document}
diff --git a/letters/cover_letter.tex b/letters/cover_letter.tex
@@ -9,37 +9,14 @@
\begin{document}
\begin{letter}{\bfseries \textit{Job title at Company name}}
-\opening{Dear \textit{Hiring Manager}}
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
-ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
-libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue
-eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
-ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus
-vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
-Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo
-ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at,
-mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis
-nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci
-dignissim rutrum.
+ \opening{Dear \textit{Hiring Manager}}
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
-Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem
-non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet,
-tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a
-mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante.
-Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis parturient montes,
-nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis.
-Pellentesque cursus luctus mauris.
+ Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.
-Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt
-tristique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque ante.
-Phasellus adipiscing semper elit. Proin fermentum massa ac quam. Sed diam turpis,
-molestie vitae, placerat a, molestie nec, leo. Maecenas lacinia. Nam ipsum ligula,
-eleifend at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc
-eleifend consequat lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus
-vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam
-in tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu enim.
-Vestibulum pellentesque felis eu massa.
-\closing{Sincerely,}
+ Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque ante. Phasellus adipiscing semper elit. Proin fermentum massa ac quam. Sed diam turpis, molestie vitae, placerat a, molestie nec, leo. Maecenas lacinia. Nam ipsum ligula, eleifend at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam in tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum pellentesque felis eu massa.
+
+ \closing{Sincerely,}
\end{letter}
\end{document}
diff --git a/simple.sty b/simple.sty
@@ -10,7 +10,7 @@
\newcommand{\heading}[2]{
\Huge
\textbf{#1}
-
+
\vspace{0.2cm}
\normalsize
\textsl{#2}
@@ -19,32 +19,35 @@
\newcommand{\newsection}[1]
{{
- \vspace{0.1cm}%
- \par\noindent
- \noindent\large{\textbf{{#1}}}\par
- \vspace*{-0.35cm}
- \noindent\rule{\linewidth}{0.8pt}\par
-}}
+ \vspace{0.1cm}%
+ \par\noindent
+ \noindent\rule{\linewidth}{0.8pt} \vspace*{0.05cm}
+ % \noindent\large{\textbf{\MakeUppercase{#1}}}\par
+ % \noindent\large{\textbf{\textsc{#1}}}\par
+ \noindent\large{\textbf{{#1}}}\par
+ \vspace*{-0.35cm}
+ \noindent\rule{\linewidth}{0.8pt}\par
+ }}
\newcommand{\newtopic}[5]{
-\vspace{0.05cm}
-\textbf{#1}
-\hfill \textbf{#2} \\
-\textsl{#3} \hfill \textsl{#4}
+ \vspace{0.05cm}
+ \textbf{#1}
+ \hfill \textbf{#2} \\
+ \textsl{#3} \hfill \textsl{#4}
-{\small #5}
+ {\small #5}
}
\newenvironment{accomplishments}%
{\begin{list}{$\circ$}%
- {
- \setlength{\leftmargin}{\newparindent}
- \setlength{\parsep}{0pt}
- \setlength{\parskip}{0pt}
- \setlength{\itemsep}{0pt}
- \setlength{\topsep}{0pt}}
- }
-{\end{list}}
+ {
+ \setlength{\leftmargin}{\newparindent}
+ \setlength{\parsep}{0pt}
+ \setlength{\parskip}{0pt}
+ \setlength{\itemsep}{0pt}
+ \setlength{\topsep}{0pt}}
+ }
+ {\end{list}}
\pagestyle{empty}
\setlength\parindent{0pt}